Kubernetes Migration
The Plan
I have decided to set out on a journey. A journey to move from Docker and compose to Kubernetes, by way of k3s and Flux. I have a high level plan, and I plan to write another post here after the migration with my lessons learned and details.
The Plan
- Install on VPS
- Install k3s on the VPS
- Install Flux on the VPS
- Infrastructure Setup for VPS
- Kustomize Overlays
- Network Setup, Netbird client connect to the existing docker netbird network for now
- Storage configuration
- Install k3s on the Home Server
- Infrastructure Setup for Home Server
- Kustomize Overlays
- Network Setup, Netbird client connect to the existing docker netbird network for now
- Storage configuration
- Migrate services from Docker to k3s/Flux
- Netbird migration
- Start with stateless services
- Stateful services
Why migrate to Kubernetes?
There are a few reasons for this migration. I want to learn more Kubernetes and DevOps skills, this is a great way for me to pick up those skills! I also want the GitOps workflow that Flux and k3s will give me. Moving to a GitOps workflow with Flux makes sure my infrastructure is declarative and version-controlled. This not only helps with documenting my setup but also makes the homelab significantly more resilient, allowing for rapid recovery from failures with a simple re-sync of the cluster state from Git.