Kubevirt.io is a (CNCF) project to make it possible to run virtual machines as containerized workloads on a k8s cluster. We'll have a look at it by deploying it to a Rancher k3s cluster and spinning up a Debian guest VM.
We're using version v0.34.2 of Kubevirt and a three node 1.19.3+k3s2 cluster on bare metal.
The story so far
In the first part (part1) we set up and provisioned three servers to serve as nodes in the cluster. We have a virtual ip managed by Keepalived and a HA etcd cluster that we will be using as external datastore for the k3s cluster. Some other stuff was installed and configured using ansible as well; we have docker installed, though in principle we could have simply let k3s use the default containerd.
We are going to setup a Kubernetes cluster on bare-metal. Specifically a HA instance of Rancher's k3s using etcd and a virtual ip on three small form factor Thinkcentre machines. The main purpose is to create a simple home lab to explore Kubernetes, do local development and also to host several in-house workloads. The underlying OS is Debian Buster. We'll also look at Ansible to do the initial provisioning of the servers.
The Hollyberry cluster has been running on Raspian's standard 32 bit kernel, which means we can only use armv7 images. The latest beta release however allows us to use a 64 bit kernel. Although the distribution itself will stay 32 bit for now, switching to 64 bt will allow us to use armv8 images next to armv7. To switch we'll update the firmware on the Raspberry pi's, (re)-enable some configurations and reboot.