
Немецкая компания SUSE известна в Open Source-сообществе своими дистрибутивами Linux. Но этим ее деятельность не ограничивается. В конце прошлого года SUSE представила новый проект с открытым кодом — гиперконвергентное решение Harvester. Как говорит компания, Harvester — это альтернатива существующим гиперконвергентным платформам enterprise-уровня типа VMware vSAN и Nutanix HCI, адаптированная к cloud native-среде, к тому же полностью бесплатная.
В статье сделаем небольшой обзор Harvester: посмотрим на компоненты, возможности, сильные и слабые стороны.

Но прежде чем поближе познакомиться с Harvester, вспомним, что такое гиперконвергенция.
Гиперконвергенция
Hyper-converged infrastructure (HCI), или гиперконвергентная инфраструктура, — программно-определяемая ИТ-инфраструктура, которая объединяет функции вычисления, хранения данных, виртуализации и сети в единую систему. HCI строится только на базе серверов и не требует отдельных систем хранения — в отличие от просто конвергентных платформ.

Благодаря специальному ПО — гиперконвергентной платформе — HCI управляется как единая модульная система, из одной панели управления. При этом физические серверы могут находиться в разных, территориально распределенных ЦОД и даже на разных континентах (виртуальный дата-центр). HCI обеспечивает гибкость и быструю масштабируемость ИТ-инфраструктуры.
Лидеры рынка гиперконвергенции, согласно последнему отчету Gartner, — Nutanix HCI и VMware vSAN. По данным Market Study Report, LLC., к 2027 году капитализация отрасли должна достигнуть 44,2 млрд USD.
Зачем SUSE своя HCI-платформа
По словам Sheng Yang, ведущего разработчика Harvester, в Open Source-сообществе назрела потребность в HCI-решении, с помощью которого можно было бы управлять контейнерами и виртуальными машинами (VM) внутри Kubernetes. Хотя Kubernetes — это уже достаточно зрелая технология и стандарт для оркестрации контейнеров, крупные вендоры HCI пока ее игнорируют. Основная причина, по мнению Sheng Yang: рынок, связанный с Kubernetes, и рынок HCI, на котором доминируют VMware и Nutanix, — разные, в том числе по уровню капитализации. Крупные вендоры по-прежнему сосредоточены на пользователях, которые предпочитают аппаратную виртуализацию. SUSE решили*, что разработка HCI-платформы корпоративного уровня на базе K8s — хорошая возможность изменить статус-кво.
* Примечание
Фактический разработчик Harvester — компания Rancher Labs, которая в 2020 году вошла в состав SUSE. Основой для Harvester стала другая разработка Rancher Labs — Kubernetes-платформа Rancher.
Harvester — свободный продукт, и его можно использовать бесплатно. SUSE предлагает платные консультации и техническую поддержку.
Управляющий слой платформы предназначен для установки на «голом железе» (bare metal-серверах). При этом в ней могут быть доступны не только ресурсы on-prem-инсталляций: Harvester можно использовать для работы на гибридной инфраструктуре и в периферийных вычислительных сетях (edge computing).
Главные отличия Harvester от традиционных HCI-решений, по мнению SUSE:
-
это 100%-й Open Source;
-
платформа построена на базе Kubernetes, KubeVirt, Longhorn и других cloud native-решений и ориентирована на контейнеризированную и микросервисную инфраструктуру;
-
позволяет управлять традиционными (VM) и контейнерными нагрузками в одной панели;
-
не привязана к конкретному оборудованию — в отличие, например, от решений Dell и NetApp.
Архитектура Harvester
Harvester позиционируется как полноценная HCI-платформа, которая предоставляет единый интерфейс управления вычислительными ресурсами, виртуализацией, хранилищем и сетью.

Операционная система. В качестве ОС используется дистрибутив openSUSE Leap 15.3, доработанный для задач Harvester с помощью набора утилит containerOS (cOS). cOS превращает исходный дистрибутив в систему, которая ориентирована на запуск контейнеров и требует минимального обслуживания для этих целей.
Kubernetes. Для управления K8s-кластерами предоставляется дистрибутив Rancher Kubernetes Engine 2 (RKE2), он же — RKE Government. RKE2 подходит в том числе компаниям, у которых повышенные требования к безопасности.
Виртуализация. За VM-слой отвечает KubeVirt — аддон, который реализует привычные функции виртуализации в Kubernetes посредством гипервизора KVM. С помощью KubeVirt можно запускать виртуализированные нагрузки наряду с контейнеризированными. Проект включили в песочницу CNCF в 2019 году, а сейчас он на следующей стадии — «инкубация».
Хранилище. Функцию storage area network (SAN) выполняет еще один инкубационный проект CNCF — Longhorn, высокодоступное распределенное блочное хранилище для Kubernetes (см. наш обзор Longhorn). Для хранения образов VM используется MinIO.
Сеть. Плагин Multus CNI обеспечивает работу VM в нескольких сетях и поддержку VLAN в K8s-кластере.

Функциональные возможности
Виртуализация |
Управление жизненным циклом VM. |
Хранилище |
Блочное хранилище Longhorn. |
Сеть |
Виртуальные IP для кластера. |
Kubernetes (Rancher) |
Создание Kubernetes-кластеров. |
Фокус на Kubernetes
Для простоты Harvester можно считать Kubernetes-платформой, с помощью которой можно управлять не только K8s-кластерами, но и виртуальными машинами — через единую панель управления. Реализовано это благодаря интеграции RKE2 и KubeVirt.

Harvester использует API Kubernetes, что упрощает работу с платформой DevOps-командам, для которых K8s уже основной инструмент оркестрации контейнеров. API Kubernetes выступает в качестве унифицированного языка для автоматизации и контейнерных, и VM-нагрузок.
Что касается других составляющих HCI:
-
Хранение. Платформа предоставляет хранилище для Kubernetes-контейнеров через внутренний инструмент Harvester Cloud Provider, который в свою очередь состоит из CSI-драйвера и cloud controller manager’a (CCM). CCM использует Longhorn для автоматической балансировки storage-ресурсов между узлами кластера. Longhorn также аккумулирует ресурсы локальных дисков или сетевых хранилищ, на основе которых создает блочные тома для VM.
-
Сеть. Используемый в Harvester CNI предоставляет интерфейс между сетевыми провайдерами и сетью VM внутри кластера. Реализация VLAN основана на CNI-плагине bridge. Для настройки сети на хосте, на котором развернут кластер, используется Harvester Network Controller («под капотом» у контроллера — тот же bridge CNI и Multus-CNI).
Администрировать Harvester можно и через веб-интерфейс (GUI), и через консоль, используя в том числе kubectl. При этом виртуальные машины для kubectl эквивалентны Pod’ам в Kubernetes:

Если пользователь не знаком с kubectl, он может работать только через GUI; по заверению разработчика, это полноценный инструмент для администрирования и отладки. Базовых знаний Kubernetes для освоения Harvester должно быть достаточно — при условии, конечно, что пользователь хорошо знаком с Linux и виртуализацией.
Для обслуживания сложной мультикластерной инфраструктуры предусмотрена интеграция Harvester с K8s-платформой Rancher (v2.6.1 и новее). Кластер Harvester в составе таких инсталляций можно администрировать через панель управления Rancher. В этом случае Harvester выступает в роли дополнительного cloud provider’а:

Кластеры могут быть развернуты как локально, так и в гибридной среде (например, часть — в собственном дата-центре, часть — в публичном облаке) и управляться как единая инфраструктура с помощью встроенных в Rancher инструментов аутентификации, контроля доступа и мониторинга.
Аналоги
Из более-менее близких по техническим возможностям решений можно отметить три:
-
Proxmox Virtual Environment — платформа виртуализации с открытым кодом, которая предлагает единую среду управления виртуальными машинами на базе KVM и Linux-контейнерами (LXC). Поскольку платформа программно объединяет вычислительные ресурсы, хранилище и сеть в единую систему, ее можно использовать как основу для построения HCI.
-
Связка платформы виртуализации vSphere и Kubernetes-платформы Tanzu. Виртуальные машины запускаются вместе с контейнерами в общей среде Kubernetes через панель управления vSphere.
-
Связка Kubernetes-платформы OpenShift и аддона Red Hat OpenShift Virtualization. Аддон добавляет новые объекты в кластер OpenShift с помощью custom resources для поддержки функций виртуализации. Доступны все основные возможности по работе с VM. За сетевой слой отвечает Multus-CNI (как и в Harvester), за хранение — OpenShift Container Storage, а для виртуализации используется тот же KubeVirt.
Резюме
Плюсы Harvester:
-
Это бесплатный Open Source-продукт.
-
Создан на базе Kubernetes и других популярных cloud native-решений.
-
Не привязан к оборудованию определенных вендоров и cloud-поставщиков, можно использовать типовые серверы.
-
Предлагает все основные функции для управления VM и контейнерами.
Минусы:
-
Платформа SUSE ориентирована только на bare metal-инсталляции. Не всем потенциальным пользователям Harvester это подходит.
-
Harvester — молодой продукт. По функциональности он еще не может полноценно конкурировать с платформами VMware, Nutanix и Red Hat. У проекта пока нет серьезных use cases (по крайней мере — известных публично), которые бы подтвердили его готовность к использованию в production.
Однако, как обещают SUSE, функциональность Harvester будет расширяться. Компания намерена активно формировать сообщество вокруг проекта и приглашает желающих поучаствовать в его развитии.
P.S.
Читайте также в нашем блоге:
Автор: Oleg Zinovyev