Overview of Harvester, a hyper-converged open source solution powered by Kubernetes

German company SUSE known in the Open Source community for its Linux distributions. But her activities are not limited to this. At the end of last year SUSE introduced new open source project – hyperconverged solution harvester. According to the company, Harvester is an alternative to existing enterprise-level hyperconverged platforms like VMware vSAN and Nutanix HCI, adapted to the cloud native environment, and also completely free.

In the article we will make a small overview of Harvester: let’s look at the components, capabilities, strengths and weaknesses.

Project statistics on GitHub
Project statistics on GitHub

But before we take a closer look at Harvester, let’s remember what hyperconvergence is.

hyperconvergence

Hyper-converged infrastructure (HCI), or hyper-converged infrastructure, is a software-defined IT infrastructure that combines computing, storage, virtualization, and network functions into a single system. HCI is built only on the basis of servers and does not require separate storage systems – unlike just converged platforms.

HCI Example - Nutanix Platform (source: nutanix.com)
HCI Example – Nutanix Platform (source: nutanix.com)

Thanks to special software – a hyperconverged platform – HCI is managed as a single modular system, from one control panel. At the same time, physical servers can be located in different, geographically distributed data centers and even on different continents (virtual data center). HCI provides flexibility and rapid scalability of the IT infrastructure.

Hyperconvergence market leaders, according to latest Gartner report, – Nutanix HCI and VMware vSAN. According to Market Study Report, LLC.by 2027 the capitalization of the industry should reach 44.2 billion USD.

Why SUSE has its own HCI platform

According to Sheng Yang, the lead developer of Harvester, there was a need in the open source community for an HCI solution that could be used to manage containers and virtual machines (VMs) inside Kubernetes. Although Kubernetes is already a fairly mature technology and standard for container orchestration, it has been ignored by major HCI vendors so far. The main reason, according to Sheng Yang, is that the market associated with Kubernetes and the HCI market, dominated by VMware and Nutanix, are different, including in terms of capitalization. Large vendors are still focused on users who prefer hardware virtualization. SUSE decided* that the development of an enterprise grade HCI platform based on K8s was a good opportunity to change the status quo.

* Note

The actual developer of Harvester is Rancher Labs, which became part of SUSE in 2020. The basis for Harvester was another development by Rancher Labs – the Kubernetes platform Rancher.

Harvester is a free product and is free to use. SUSE offers paid consultations and technical support.

The control layer of the platform is designed to be installed on “bare metal” (bare metal servers). At the same time, not only on-prem-installation resources can be available in it: Harvester can be used to work on a hybrid infrastructure and in edge computing networks (edge ​​computing).

The main differences between Harvester and traditional HCI solutions, according to SUSE:

  • it is 100% Open Source;

  • the platform is built on the basis of Kubernetes, KubeVirt, Longhorn and other cloud native solutions and is focused on containerized and microservice infrastructure;

  • allows you to manage traditional (VM) and container loads in one panel;

  • is not tied to specific hardware – unlike, for example, Dell and NetApp solutions.

Harvester architecture

Harvester is positioned as a complete HCI platform that provides a single interface for managing computing resources, virtualization, storage and networking.

Harvester architecture
Harvester architecture

Operating system. The distribution kit is used as the OS openSUSE Leap 15.3modified for Harvester tasks using a set of utilities containerOS (cOS). cOS turns the original distribution into a container-oriented system that requires minimal maintenance to run containers.

Kubernetes. A distribution kit is provided to manage K8s clusters Rancher Kubernetes Engine 2 (RKE2), aka RKE Government. RKE2 is also suitable for companies with high security requirements.

Virtualization. Responsible for the VM layer KubeVirt – an addon that implements the usual virtualization functions in Kubernetes through the KVM hypervisor. With KubeVirt, you can run virtualized workloads alongside containerized ones. The project was included in the CNCF sandbox in 2019, and now it is at the next stage – incubation».

Storage. The storage area network (SAN) function is performed by another CNCF incubation project – Longhorna highly available distributed block storage for Kubernetes (see our Longhorn review). Used to store VM images MinIO.

Network. plugin Multis CNI provides VM operation in several networks and VLAN support in a K8s cluster.

Harvester web interface
Harvester web interface

Functionality

Virtualization

VM lifecycle management.
Monitoring of the main VM metrics – utilization of the CPU, memory, disks, network – with the built-in Grafana dashboard.
Cloud infrastructure management.
Support for SSH keys.
KVM console for remote host (VNC) and serial port access.
VM templates.
Export images from existing VMs.
Terraform provider.

storage

Longhorn block storage.
Built-in VM image storage.
Backups and restores of VMs to/from S3.
“Hot” connection of disks.

Network

Virtual IP for the cluster.
multisegment network.
VLAN.
Custom SSL certificates.

Kubernetes (Rancher)

Creation of Kubernetes clusters.
Virtualization management through Rancher for several Harvester clusters at once.
Multi-tenancy with RBAC support.
Built-in CSI driver.

Focus on Kubernetes

For simplicity, Harvester can be considered a Kubernetes platform with which you can manage not only K8s clusters, but also virtual machines – through a single control panel. This is done thanks to the integration of RKE2 and KubeVirt.

The process of creating a VM in the control panel
The process of creating a VM in the control panel

Harvester uses the Kubernetes API, which makes it easier for DevOps teams to work with the platform, for which K8s is already the main container orchestration tool. The Kubernetes API acts as a unified language for automating both containerized and VM workloads.

As for the other components of HCI:

  • Storage. The platform provides storage for Kubernetes containers through the Harvester Cloud Provider internal tool, which in turn consists of a CSI driver and a cloud controller manager (CCM). CCM uses Longhorn to automatically balance storage resources between cluster nodes. Longhorn also accumulates local disk or network storage resources, from which it creates block volumes for the VM.

  • Network. Used in Harvester CNI provides an interface between network providers and the VM network within the cluster. VLAN implementation based on the bridge CNI plugin. To configure the network on the host where the cluster is deployed, use Harvester Network Controller (“under the hood” of the controller – the same bridge CNI and Multis-CNI).

You can administer Harvester through the web interface (GUI) and through the console, including using kubectl. At the same time, virtual machines for kubectl are equivalent to Pods in Kubernetes:

If the user is not familiar with kubectl, he can only work through the GUI; according to the developer, this is a complete tool for administration and debugging. Basic knowledge of Kubernetes should be enough to master Harvester – provided, of course, that the user is familiar with Linux and virtualization.

To serve a complex multi-cluster infrastructure, Harvester is integrated with the K8s platform Rancher (v2.6.1 and newer). The Harvester cluster in these installations can be administered through the Rancher control panel. In this case, Harvester acts as an additional cloud provider:

Clusters can be deployed both locally and in a hybrid environment (for example, some in their own data center, some in a public cloud) and managed as a single infrastructure using the authentication, access control and monitoring tools built into Rancher.

Analogues

Of the more or less close in terms of technical capabilities, three solutions can be noted:

  1. Proxmox Virtual Environment is an open source virtualization platform that offers a unified management environment for KVM-based virtual machines and Linux containers (LXC). Since the platform programmatically combines computing resources, storage and network into a single system, it can be used as a basis for building HCI.

  2. Virtualization Platform Bundle vSphere and Tanzu Kubernetes Platforms. Virtual machines start with containers in a shared Kubernetes environment through the vSphere control panel.

  3. A bunch of Kubernetes platforms openshift and addon Red Hat OpenShift Virtualization. The addon adds new objects to the OpenShift cluster using custom resources to support virtualization features. All basic features for working with VM are available. Multus-CNI is responsible for the network layer (as in Harvester), OpenShift Container Storage is responsible for storage, and the same KubeVirt is used for virtualization.

Summary

Harvester pros:

  • This is a free Open Source product.

  • Built on Kubernetes and other popular cloud native solutions.

  • It is not tied to the equipment of certain vendors and cloud-suppliers, you can use typical servers.

  • Offers all the basic features for managing VMs and containers.

Minuses:

  • The SUSE platform is focused on bare metal installations only. This is not suitable for all potential Harvester users.

  • Harvester is a young product. In terms of functionality, it still cannot fully compete with the VMware, Nutanix and Red Hat platforms. The project does not yet have serious use cases (at least publicly known ones) that would confirm its readiness for use in production.

However, as SUSE promises, Harvester functionality will expand. The company intends to actively form a community around the project and invites those who wish participate in its development.

PS

Read also on our blog:

Similar Posts

Leave a Reply