Get to Know Harvester in 5 Minutes
Do you want to run a Hyper-Converged Infrastructure (HCI) but are concerned about the high licensing costs of VMware vSAN or Nutanix? Harvester is the answer. Its biggest selling point is that it runs directly on Kubernetes, making VM management as modern as managing containers.
To get started, prepare a server (or virtual machine) that supports Hardware Virtualization. The minimum configuration should be at least 16GB of RAM. The installation process is quite fast:
- Download the latest ISO file from the Harvester (Rancher) homepage.
- Create a Bootable USB or mount the ISO to the server via IPMI/iDRAC.
- Boot and select Create a new Harvester cluster.
- Set a
tokenpassword to join nodes later and arootpassword for the system. - Configure Network: Select the main network interface, preferably setting a Static IP to avoid connection loss.
- The system will automatically run the installation script for about 5 to 10 minutes.
After the machine reboots, just type the IP address into your browser. The Dashboard interface will appear, and it’s very intuitive. Creating a VM running Ubuntu or Windows now takes only a few clicks.
Why Choose Harvester Over Proxmox?
I once managed a Proxmox cluster with over 15 VMs for Lab projects. Proxmox is great, but when it comes to scaling large and synchronizing with the Cloud Native ecosystem, Harvester proves superior. It is not just a pure Hypervisor.
The power of Harvester comes from the “atomic” trio:
- KubeVirt: The core technology that allows running virtual machines (VMs) right inside Kubernetes Pods.
- Longhorn: A Distributed Block Storage system. It automatically replicates data across nodes, ensuring safety if a hard drive fails.
- Multus: Allows VMs to connect to multiple network layers such as VLANs or Bridges.
In other words, you are using Kubernetes to manage VMs. If your company is already using Rancher, Harvester will help unify the entire infrastructure into a single stack.
Hardware Requirements: Don’t Just Look at Minimum Specs
Practical experience shows that paper specifications are usually only enough to “run for fun.” To operate stably in a test environment or small production, you should invest in:
- CPU: Minimum 8 Cores. VT-x (Intel) or AMD-V (AMD) must be enabled in the BIOS.
- RAM: At least 32GB. Harvester itself and system services already occupy about 8-12GB.
- Disk: SSD or NVMe is mandatory with good random write speeds. Longhorn synchronizes data continuously; if you use HDDs, latency will spike, causing the VMs to lag.
Advanced Configuration: Cloud-init and VLAN
Once installed, what’s next? Set up Cloud-init immediately. This tool automates user creation, adding SSH keys, and installing packages as soon as the VM boots. You won’t need to manually set passwords for each machine anymore.
Below is a sample config to add an SSH key and pre-install qemu-guest-agent:
#cloud-config
users:
- name: sysadmin
sudo: ALL=(ALL) NOPASSWD:ALL
shell: /bin/bash
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2E... admin@devops
package_update: true
packages:
- qemu-guest-agent
- curl
runcmd:
- [ systemctl, enable, --now, qemu-guest-agent ]
Setting Up VLANs for the System
In an enterprise environment, putting everything into a single network range is a fatal mistake. In Harvester, go to Networks -> Config to create a ClusterNetwork mapped to a physical interface. Then, create Virtual Networks with specific VLAN IDs (e.g., VLAN 10 for Web, VLAN 20 for DB). VMs will be completely isolated at Layer 2.
The Real Power When Combined with Rancher
This is where Harvester truly shines. When integrated into Rancher Manager, Harvester acts as a Cloud Provider (similar to AWS or GCP).
You can request Rancher: “Create a 3-node K8s cluster on Harvester for me.” Rancher will automatically call the API, spawn VMs, install RKE2, and configure the Load Balancer. The entire process from Bare Metal to a Kubernetes Cluster is 100% automated.
Hard-Earned Lessons from Deployment
After several months of tinkering and real-world deployment, I have a few important notes for you:
- 10Gbps Networking is Mandatory: If running a cluster of 3 or more nodes, use a 10Gbps switch for the storage traffic. With a 1Gbps network, when a node fails and Longhorn rebuilds data, the entire system will hit a bottleneck.
- Backup Strategy: Harvester supports backups to S3 or NFS. I often use MinIO as an S3 backend. Remember to test your backup files regularly to ensure they still work.
- Leverage Image URLs: Don’t waste time downloading ISOs to your computer and then uploading them. Paste the Cloud Image link directly (e.g., from Ubuntu or Debian). Harvester will download it faster and optimize storage space.
- Always Use Virt-IO: When creating a VM, select Virt-IO drivers for both Disk and Network. Performance will increase by about 20-30% compared to standard emulated drivers.
Harvester is now mature enough to replace paid solutions for Dev/Staging environments or medium-scale Production. If you’re tired of the complexity of OpenStack, give Harvester a try. It certainly won’t disappoint you.
