276 lines
7.3 KiB
Markdown
276 lines
7.3 KiB
Markdown
---
|
|
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?
|
|
|
|
1. Visit [Mycelium Cloud](https://myceliumcloud.tf)
|
|
2. Fill in your registration details
|
|
3. Verify your email address
|
|
4. Add credits and SSH keys from your dashboard
|
|
|
|
See the **[Getting Started Guide](/getstarted/mycelium-cloud/getting-started)** for detailed steps.
|
|
|
|
### What do I need to get started?
|
|
|
|
- **Mycelium installed** - For network access ([Install guide](/getstarted/mycelium-network/install))
|
|
- **kubectl installed** - For cluster management ([Install kubectl](https://kubernetes.io/docs/tasks/tools/))
|
|
- **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):**
|
|
```bash
|
|
# Download kubeconfig from dashboard
|
|
export KUBECONFIG=/path/to/mycluster-config.yaml
|
|
kubectl get nodes
|
|
```
|
|
|
|
**2. SSH:**
|
|
```bash
|
|
# Start Mycelium, then SSH to node IPs
|
|
ssh root@<mycelium-ip>
|
|
```
|
|
|
|
See **[Getting Started](/getstarted/mycelium-cloud/getting-started#step-4-access-your-cluster)** 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
|
|
|
|
```bash
|
|
# 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:**
|
|
```yaml
|
|
type: NodePort
|
|
```
|
|
|
|
**2. Port Forwarding (Development):**
|
|
```bash
|
|
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?
|
|
|
|
1. **Check Logs**: Review deployment logs in the dashboard
|
|
2. **Verify Credits**: Ensure sufficient account balance
|
|
3. **Node Availability**: Confirm selected nodes are available
|
|
4. **Configuration**: Validate cluster configuration settings
|
|
5. **Contact Support**: If issues persist, reach out via Telegram or GitHub
|
|
|
|
### I can't connect with kubectl. How do I fix this?
|
|
|
|
```bash
|
|
# 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?
|
|
|
|
```bash
|
|
# 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?
|
|
|
|
```bash
|
|
# 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):
|
|
|
|
```yaml
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: my-data
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
```
|
|
|
|
See **[Tutorial](/getstarted/mycelium-cloud/tutorial#tutorial-3-stateful-application-with-persistent-storage)** 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:
|
|
|
|
```bash
|
|
# 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](/getstarted/mycelium-cloud/kubernetes-basics#secrets)** for more details.
|
|
|
|
## Getting Help
|
|
|
|
### Where can I get more information and support?
|
|
|
|
- **Documentation**: [Getting Started](/getstarted/mycelium-cloud/getting-started), [Tutorial](/getstarted/mycelium-cloud/tutorial)
|
|
- **Community**: [ThreeFold Telegram](https://t.me/threefold/1)
|
|
|
|
### How do I report a bug?
|
|
|
|
1. Check existing [GitHub Issues](https://github.com/codescalers/kubecloud/issues)
|
|
2. 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](/getstarted/mycelium-cloud/getting-started)** - Step-by-step cluster deployment
|
|
- **[Tutorial](/getstarted/mycelium-cloud/tutorial)** - Practical deployment examples
|
|
- **[Kubernetes Basics](/getstarted/mycelium-cloud/kubernetes-basics)** - Essential K8s concepts
|
|
- **[Kubernetes Documentation](https://kubernetes.io/docs/)** - Official K8s docs |