Kubernetes Installation in Harvester

I recorded this while building a Kubernetes cluster on a homelab server with Harvester and Rancher. It is a practical install note, not a full production runbook. The useful part is seeing the cluster come up from the bare virtualization layer instead of starting from a managed cloud default.
The reason I cared about Harvester here was simple: the hardware was already mine. I wanted the cluster to sit on virtual machines I could inspect, resize, and break without pretending I was in a managed cloud. That makes storage and networking feel much less abstract. If those are wrong, Rancher can still show a cluster that looks fine while workloads behave badly later.
What I cared about during the install
The first pass was deliberately plain: bring up Harvester, register it with Rancher, provision the Kubernetes nodes, and verify that the cluster could schedule normal workloads. I did not want GitOps, ingress, observability, and app state in the same first debugging session. A broken install is hard enough without also wondering whether cert-manager, DNS, a storage class, or a chart value caused the problem.
Harvester pushes infrastructure details back into view. In a managed cloud cluster, node pools and load balancers can feel like product settings. In a homelab cluster, they are actual capacity, actual disks, and actual network paths. Useful when the point is to learn or to run controlled local infrastructure. Unforgiving when the base layer is treated as an afterthought.
Where I would take it next
After the cluster is stable, the next useful step is writing down the setup so it can be rebuilt: Harvester version, VM templates, node sizes, storage classes, ingress choice, and Rancher cluster settings. From there I would add a small GitOps bootstrap and a health check workload before moving any serious service onto it.