diff --git a/content/docs/kubernetes/advanced/gpu-config.md b/content/docs/kubernetes/advanced/gpu-config.md index 26da72c..38ffc1e 100644 --- a/content/docs/kubernetes/advanced/gpu-config.md +++ b/content/docs/kubernetes/advanced/gpu-config.md @@ -1,4 +1,5 @@ --- +sidebar_position: 1 title: GPU Clusters on Civo Kubernetes description: Learn more about what GPU Types are supported on Civo Kubernetes. When using GPU workloads on Civo Kubernetes clusters, you may wish to install the GPU operator in your cluster. --- diff --git a/content/docs/kubernetes/advanced/managing-node-pools.md b/content/docs/kubernetes/advanced/managing-node-pools.md index 1df7876..eb755ff 100644 --- a/content/docs/kubernetes/advanced/managing-node-pools.md +++ b/content/docs/kubernetes/advanced/managing-node-pools.md @@ -1,4 +1,5 @@ --- +sidebar_position: 2 title: Managing a Kubernetes cluster's node pools description: Learn how to create and manage node pools in your Kubernetes cluster on Civo. Add new node pools or delete existing ones via Civo Dashboard, CLI or Terraform. --- diff --git a/content/docs/kubernetes/advanced/migrate-from-talos-to-k3s.md b/content/docs/kubernetes/advanced/migrate-from-talos-to-k3s.md new file mode 100644 index 0000000..54ba175 --- /dev/null +++ b/content/docs/kubernetes/advanced/migrate-from-talos-to-k3s.md @@ -0,0 +1,116 @@ +--- +sidebar_position: 9 +title: Migrate from Talos to K3S +description: Learn how to migrate your services from a Talos Kubernetes cluster to a K3s cluster on Civo, with systematic steps and best practices. +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + Migrate from Talos to K3S | Civo Documentation + + +## Overview + +To migrate your services from a Talos Kubernetes cluster to a K3s cluster, here's a systematic approach: + +### Prepare the K3s Cluster + +First, ensure your K3s cluster is ready: + +- Install K3s on your target nodes +- Configure networking (CNI) and storage classes to match your requirements +- Set up any necessary ingress controllers + +### Inventory Your Current Services + +Extract all your current resources from the Talos cluster: + +```bash +# Get all namespaces (excluding system ones) +kubectl get namespaces -o json | jq -r '.items[].metadata.name' | grep -v kube- | grep -v default + +# For each namespace, export resources +kubectl get all,configmap,secret,pvc,ingress -n -o yaml > namespace-resources.yaml +``` + +### Handle Persistent Data + +This is often the trickiest part: + +For StatefulSets: You'll need to backup and restore the persistent volumes + +**Options:** +- Use tools like Velero for backup/restore +- Manually snapshot and copy data +- Use your storage provider's snapshot capabilities + +### Export Resources Systematically + +Create a migration script to export resources: + +```bash +# Export deployments, services, configmaps, secrets +kubectl get deployments,services,configmaps,secrets,ingresses,statefulsets \ + --all-namespaces -o yaml > all-resources.yaml +``` + +### Clean Up Exported Manifests + +Remove cluster-specific metadata: + +- Remove `resourceVersion`, `uid`, `selfLink` +- Remove `status` sections +- Update any cluster-specific annotations +- Adjust storage class names if different + +### Handle Secrets and ConfigMaps First + +Apply these to your K3s cluster before the apps: + +```bash +kubectl apply -f secrets.yaml +kubectl apply -f configmaps.yaml +``` + +### Update Service Definitions + +- Modify LoadBalancer services if using different providers +- Update ingress annotations for your K3s ingress controller +- Adjust any cluster-specific configurations + +### Deploy to K3s + +Apply resources in order: + +1. Namespaces +2. ConfigMaps and Secrets +3. PVCs +4. Deployments/StatefulSets +5. Services +6. Ingresses + +## Migration Strategies + +### Blue-Green Migration (recommended) + +- Keep both clusters running +- Migrate services one by one +- Update DNS/load balancers to point to K3s +- Decommission Talos cluster after verification + +### Big Bang Migration + +- Take a maintenance window +- Stop services on Talos +- Migrate all data +- Start everything on K3s + +## Key Considerations + +- **Networking**: Ensure your K3s cluster can reach the same external resources +- **DNS**: Update any hardcoded cluster DNS names +- **Certificates**: Migrate or regenerate TLS certificates +- **Monitoring**: Update your monitoring to point to the new cluster +- **GitOps**: If using Flux/ArgoCD, update the target cluster diff --git a/content/docs/kubernetes/advanced/scaling-nodes.md b/content/docs/kubernetes/advanced/scaling-nodes.md index f59f08d..d80cd2a 100644 --- a/content/docs/kubernetes/advanced/scaling-nodes.md +++ b/content/docs/kubernetes/advanced/scaling-nodes.md @@ -1,4 +1,5 @@ --- +sidebar_position: 3 title: Scaling a Kubernetes cluster's nodes description: Learn how to scale your Kubernetes cluster's nodes up or down on Civo, with easy steps on the Civo Dashboard, CLI or Terraform. Click for more information. --- diff --git a/content/docs/kubernetes/create-a-cluster.md b/content/docs/kubernetes/create-a-cluster.md index fa170c2..492584e 100644 --- a/content/docs/kubernetes/create-a-cluster.md +++ b/content/docs/kubernetes/create-a-cluster.md @@ -76,7 +76,7 @@ The numbered sections give you options for the cluster details, complete the req :::note - Flannel and Talos Linux support are being deprecated. + Talos Linux support is being deprecated. :::