As part of my professional development, I want to become more familiar with Kubernetes. I’ve used Docker for a while in a minimal fashion in my homelab, but only recently have I started building my own images. I’ve mainly been running Docker images in a virtual machine, and not taking full advantage of the containerization aspect, or have any kind of orchestration.
I’ve looked at products like VMware Tanzu and Red Hat OpenShift, and found them either too costly or too complex to set up for my use case. I’ve also looked at the easier to deploy options like Rancher K3s, Canonical MicroK8s, and Minikube; and found them a bit too simplistic for my needs. I want a fully functional Kubernetes cluster in my homelab, spread over multiple vSphere servers, with high availability. Most of the automated options focus on a single local node for development purposes.
Eventually I decided I would build everything from scratch myself, and learn as much as possible in the process. The goal would be to use as much Infrastructure as Code as possible so the steps were automated and repeatable.
This article will be updated with the links to the steps used.