7.3 KiB
sidebar_position
sidebar_position |
---|
5 |
Frequently Asked Questions
Common questions about deploying and managing Kubernetes clusters on Mycelium Cloud.
General
What is Mycelium Cloud?
Mycelium Cloud is a platform for deploying and managing Kubernetes clusters on the decentralized ThreeFold Grid infrastructure. It provides K3s clusters with Mycelium peer-to-peer networking, making it easy to run containerized applications on distributed, cost-effective infrastructure.
What makes Mycelium Cloud different?
- Decentralized Infrastructure: Runs on ThreeFold Grid's distributed network
- IPv6 Networking: Built-in Mycelium peer-to-peer networking
- Cost Effective: Competitive pricing on decentralized infrastructure
- No Vendor Lock-in: Standard Kubernetes (K3s) - works with all K8s tools
- Global Distribution: Deploy across worldwide node locations
Is it suitable for production workloads?
Yes! Mycelium Cloud supports production workloads with:
- High availability cluster configurations (multi-master)
- Persistent storage options
- Monitoring and logging capabilities
- Standard Kubernetes security features
Getting Started
How do I create an account?
- Visit Mycelium Cloud
- Fill in your registration details
- Verify your email address
- Add credits and SSH keys from your dashboard
See the Getting Started Guide for detailed steps.
What do I need to get started?
- Mycelium installed - For network access (Install guide)
- kubectl installed - For cluster management (Install kubectl)
- SSH key pair - For node access
- Account credits - To fund your deployments
What Kubernetes version is supported?
Mycelium Cloud uses K3s v1.26+, which provides:
- Full Kubernetes API compatibility
- Lightweight resource usage
- High availability features
- Dual-stack networking (IPv4/IPv6)
Cluster Management
How do I access my cluster?
Two methods:
1. kubectl (Recommended):
# Download kubeconfig from dashboard
export KUBECONFIG=/path/to/mycluster-config.yaml
kubectl get nodes
2. SSH:
# Start Mycelium, then SSH to node IPs
ssh root@<mycelium-ip>
See Getting Started for details.
Can I scale my cluster after deployment?
Yes! You can:
- Add or remove worker nodes through the dashboard
- Scale applications independently using kubectl
- Modify cluster configuration
# Scale deployment
kubectl scale deployment myapp --replicas=5
What happens if a node fails?
- Worker Node Failure: Kubernetes automatically reschedules pods to healthy nodes
- Master Node Failure: In HA setups (3+ masters), other masters take over
- Self-Healing: Pods are automatically restarted if they crash
Networking
How do I expose applications to the internet?
Options include:
1. NodePort Services:
type: NodePort
2. Port Forwarding (Development):
kubectl port-forward service/myapp 8080:80
3. Ingress Controllers: Set up an ingress controller for HTTP/HTTPS routing with custom domains.
Do I need public IP addresses?
No! Mycelium Cloud uses Mycelium networking:
- Each node gets a unique Mycelium IPv6 address
- Access nodes and services via Mycelium network
- All traffic encrypted end-to-end
- No need for public IPs or complex firewall configurations
Troubleshooting
My cluster deployment failed. What should I do?
- Check Logs: Review deployment logs in the dashboard
- Verify Credits: Ensure sufficient account balance
- Node Availability: Confirm selected nodes are available
- Configuration: Validate cluster configuration settings
- Contact Support: If issues persist, reach out via Telegram or GitHub
I can't connect with kubectl. How do I fix this?
# 1. Verify kubeconfig is set
echo $KUBECONFIG
# 2. Check Mycelium is running
# (Open Mycelium app or run: sudo mycelium --peers ...)
# 3. Test cluster connectivity
kubectl cluster-info
# 4. Verify cluster is running in dashboard
Common issues:
- Mycelium not running on your machine
- Wrong kubeconfig file path
- Cluster stopped in dashboard
- Network firewall blocking connections
My pods are not starting. What's wrong?
# Check pod status
kubectl get pods
# Describe pod for events
kubectl describe pod <pod-name>
# Check logs
kubectl logs <pod-name>
# Check node resources
kubectl top nodes
Common causes:
- Resource Limits: Insufficient CPU/memory on nodes
- Image Issues: Cannot pull container images
- Configuration: Invalid pod specifications
- Storage: Persistent volume issues
How do I check cluster health?
# Check node status
kubectl get nodes
# Check system pods
kubectl get pods -n kube-system
# View events
kubectl get events --sort-by=.metadata.creationTimestamp
# Check resource usage
kubectl top nodes
kubectl top pods
Storage & Data
How do I persist data?
Use PersistentVolumeClaims (PVCs):
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
See Tutorial for a complete example.
How do I backup my cluster?
Backup strategies:
- Application Data: Use PVC snapshots or backup tools
- Configurations: Version control your YAML manifests in Git
- etcd Snapshots: Cluster state backups (advanced)
Security
How secure is Mycelium Cloud?
Security features:
- Encrypted Communication: All traffic encrypted via Mycelium network
- Network Isolation: Secure pod-to-pod communication
- RBAC: Kubernetes role-based access control
- SSH Key Authentication: Secure node access
- No Public IPs: Reduced attack surface
How do I manage secrets?
Use Kubernetes Secrets:
# Create secret
kubectl create secret generic db-password --from-literal=password=mypassword
# Use in pod
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: db-password
key: password
See Kubernetes Basics for more details.
Getting Help
Where can I get more information and support?
- Documentation: Getting Started, Tutorial
- Community: ThreeFold Telegram
How do I report a bug?
- Check existing GitHub Issues
- Create a new issue with:
- Cluster configuration
- Error messages and logs
- Steps to reproduce
- Expected vs actual behavior
Still Have Questions?
Check out these resources:
- Getting Started Guide - Step-by-step cluster deployment
- Tutorial - Practical deployment examples
- Kubernetes Basics - Essential K8s concepts
- Kubernetes Documentation - Official K8s docs