https://imgur.com/a/UKdgshc
Hello everyone,
I recently embarked on a journey of migrating all my services from Docker containers to an RKE2 Kubernetes cluster. After years of relying on Docker for my home lab setup, I felt a pull towards Kubernetes for its better management capabilities and integration possibilities. Docker served me well, but the combination of Kubernetes with Ansible and ArgoCD has proven to be nothing short of amazing.
The migration process involved experimenting with different tools. I wrote various Ansible playbooks and initially tried managing my setup with Portainer and Rancher. However, I found Rancher to be limiting, primarily because it tended to support slightly outdated Kubernetes versions nearing EOL, I know it's not a big deal, and i have a good ansible playbook to upgrade all my nodes, but still, I personally longer times of support. Also, I discovered that I didn't really use Rancher beyond its function as a visual representation of my cluster, with most of my management happening through Ansible and kubectl.
Disappointed with Rancher and Fleet and seeking a better tool, I turned to ArgoCD, which was amazing, and made me drop Rancher altogether. I considered Gitlab but eventually chose Gitea for its lightweight nature and great registry integration. Together, Gitea and ArgoCD have checked all my boxes, so I went with them for my CI/CD learning.
Current Struggles with MACVLAN and MULTUS
Despite making some progress, I'm still struggling with advanced networking concepts like MACVLAN and Multus in Kubernetes, to assign dedicated IP addresses to pods for specific services that require isolated networking (Jack Sparrow below), similar to a whole VM in Docker configured to use a VPN gateway with a kill switch in my pfSense firewall. I haven't yet achieved the simplicity in Kubernetes that I had in Docker, and some services didn't work at all or wasn't as good as it worked in Docker, so any advice or resources on this would be highly appreciated!
I think I'm satisfied with my RKE2 setup, thanks to the power of tools like Ansible and ArgoCD. I'm eager to continue refining my system and exploring more of what Kubernetes has to offer. I would love any recommendations or critiques of my current setup.
Thanks a lot for any input!