- It's Kubernetes all the way down. When the UI is confusing,
kubectl describe the underlying object. Events are your friend.
- Disks first. Slow OS disks → etcd latency → everything is flaky. NVMe for OS and data.
- Set the storage network on day one. Changing it later requires stopping every VM.
- Memory overcommit is a footgun. A VM OOM-kill is an instant power-off.
- Install the guest agent everywhere. IP reporting, graceful shutdown, consistent backups.
- Non-migratable VMs block maintenance and upgrades. Track them (passthrough, local LVM) and plan downtime.
- Respect the upgrade path and support matrix. Skipping versions is not supported; Rancher compatibility matters.
- Don't stretch clusters across sites. One cluster per site, many clusters via Rancher.
- Watch Longhorn capacity, not provisioned size — thin provisioning hides growth until it doesn't.
- Backups are not snapshots. Snapshots live in the same cluster; only backups to an external target protect against cluster loss.
- Keep encryption secrets and cloud-init secrets backed up separately.
- Don't host Rancher on the Harvester cluster it manages if you can avoid it — break-glass access gets awkward.
- Consistent NIC naming across nodes saves many
VlanConfig headaches; otherwise use node selectors per hardware type.
/oem is the only persistent place for host customizations; anything else disappears on reboot/upgrade.
- Version-specific features evolve fast (V2 engine, Kube-OVN, RWX for guests). Read release notes before relying on a feature in production.
← Homelab path · Index · Quick reference →