In this blog

SUSE Harvester 101





Well, the Broadcom acquisition of VMware, and subsequent packaging and pricing changes, have caused customers to look for options. To be the most help to my customers, I have been getting my hands on as many "VMware Alternatives" as possible - Nutanix, Proxmox, OpenShift Virtualization, Harvester, KVM. See this post by me on KVM.


So, in terms of enterprise alternatives to vSphere, I am seeing two leading solutions - Nutanix and K8S/Kubevirt. In the K8S/Kubevirt camp, there is RedHat OpenStack and SUSE Harvester. SUSE Harvester is K8S + Kubevirt in an HCI package. Each node provides CPU, memory, and distributed storage (Longhorn) to the HCI cluster.




The bare metal requirements are reasonable:

  • CPU: x86_64 - 8 cores for testing
  • RAM:  32 GB for testing
  • Disk: Fast. I failed on spinning disk, but was very successful on NVMe.
  • An ISO from this page. (I used harvester-v1.3.1-rc2-amd64.iso which I copied to a handy Ventoy boot USB key.)


Install on Bare Metal

Harvester is super easy to install on a single node which made it easy to test. I used these instructions

  • Boot from the ISO
  • Follow the instructions above. NB: The text based installer is a little wacky. You don't know whether the press space/Tab/Enter to change the options in the fields. Taking the defaults works in most cases. You will have to provide a cluster token (any word will do) and a password. These are some of the screens you will see:













After install you will see this happy screen:



  • Point your browser to https://[Management IP]/dashboard and you will see something like my dashboard (minus the VMs)


Create a Virtual Machine

Create a Unique Namespace for VMs

(Not a requirement, but namespaces keep things tidy in Kubernetes)

Click on Namespaces on the left and the Create button on the right


Upload a VM Boot ISO

Let's give our VM an installation ISO.

Click on Images on the left and the Create button on the right


Choose your namespace, type a name, type a description

Either upload and ISO and provide the URL to an ISO


Click Create and you will get a progress speedometer


Create a VM Network



A VM Network sits on a Cluster Network. The built-in Cluster Network is a host-only network. To allow VMs to access the outside world, and to allow the outside world to access the VMs, you need to create and external Cluster Network and then place a VM Network there.

Cluster Network

I have a second NIC in my server, so I created an external Cluster Network on that NIC.

First, I created a very simple Cluster Network named "nic2"


Then I created a Network Config for that Cluster Network and gave it a description.



I only have one node, so I took the default Node Selector of "Select all nodes"


I chose my second NIC from the drop down and left the rest of the fields at their defaults. 

VM Network

Now onto the VM Network. Choose "VM Networks" in the left menu


Click Create




Give your VM Network a name, a description, choose VLAN or Untagged, choose the Cluster Network it should ride on. If you chose VLAN, specify the VLAN ID.  Click Create again.


Create a VM


Choose Virtual Machines in the left menu

Click Create

Define Name, CPU & RAM. Name must be lowercase.


Define your Boot ISO as Type CD-ROM (The size field is not important)


Click Add Volume to add the root disk (Note the light gray "boot order" specification)


Choose your external network


Those are the most important steps. You can skip the other steps for a simple VM.

Now click Create

You will see your new VM listed as "Unschedulable" for a minute. This is a red herring. Just ignore this. 🙂


After about a minute, the VM state will change to "Running"


You can now open a graphical console and install the OS as usual




Once installed and rebooted, the new VM should be on the network segment you specified. Yay.


What's nice is that Harvester automagically displays the IP address of the VM in the list of VMs



Backup a VM

There are many options to protect your new VMs. Regular scheduled backups are not available in the GUI, but I'm sure you could write a shell script that runs regularly in cron.




Thank You

Thanks for reading this post. I hope you found the post informative. I welcome your feedback, corrections, and improvements.