- PVSM.RU - https://www.pvsm.ru -

Обзор Harvester — гиперконвергентного Open Source-решения на базе Kubernetes

Обзор Harvester — гиперконвергентного Open Source-решения на базе Kubernetes - 1

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

В статье сделаем небольшой обзор Harvester: посмотрим на компоненты, возможности, сильные и слабые стороны.

Статистика проекта на GitHub
Статистика проекта на GitHub

Но прежде чем поближе познакомиться с Harvester, вспомним, что такое гиперконвергенция.

Гиперконвергенция

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

Пример HCI — платформа Nutanix (источник: nutanix.com)
Пример HCI — платформа Nutanix (источник: nutanix.com)

Благодаря специальному ПО — гиперконвергентной платформе — HCI управляется как единая модульная система, из одной панели управления. При этом физические серверы могут находиться в разных, территориально распределенных ЦОД и даже на разных континентах (виртуальный дата-центр). HCI обеспечивает гибкость и быструю масштабируемость ИТ-инфраструктуры.

Лидеры рынка гиперконвергенции, согласно последнему отчету Gartner [4], — Nutanix HCI и VMware vSAN. По данным Market Study Report, LLC. [5], к 2027 году капитализация отрасли должна достигнуть 44,2 млрд USD.

Зачем SUSE своя HCI-платформа

По словам Sheng Yang [6], ведущего разработчика 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 [7].

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-платформа, которая предоставляет единый интерфейс управления вычислительными ресурсами, виртуализацией, хранилищем и сетью. 

Архитектура Harvester
Архитектура Harvester

Операционная система. В качестве ОС используется дистрибутив openSUSE Leap 15.3 [8], доработанный для задач Harvester с помощью набора утилит containerOS (cOS) [9]. cOS превращает исходный дистрибутив в систему, которая ориентирована на запуск контейнеров и требует минимального обслуживания для этих целей.

Kubernetes. Для управления K8s-кластерами предоставляется дистрибутив Rancher Kubernetes Engine 2 [10] (RKE2), он же — RKE Government. RKE2 подходит в том числе компаниям, у которых повышенные требования к безопасности.

Виртуализация. За VM-слой отвечает KubeVirt [11] — аддон, который реализует привычные функции виртуализации в Kubernetes посредством гипервизора KVM. С помощью KubeVirt можно запускать виртуализированные нагрузки наряду с контейнеризированными. Проект включили в песочницу CNCF в 2019 году, а сейчас он на следующей стадии — «инкубация» [12].

Хранилище. Функцию storage area network (SAN) выполняет еще один инкубационный проект CNCF — Longhorn [13], высокодоступное распределенное блочное хранилище для Kubernetes (см. наш обзор Longhorn [14]). Для хранения образов VM используется MinIO [15].

Сеть. Плагин Multus CNI [16] обеспечивает работу VM в нескольких сетях и поддержку VLAN в K8s-кластере.

Веб-интерфейс Harvester
Веб-интерфейс Harvester

Функциональные возможности

Виртуализация

Управление жизненным циклом VM.
Мониторинг основных метрик VM — утилизация CPU, памяти, дисков, сети — со встроенным дашбордом Grafana.
Управление облачной инфраструктурой.
Поддержка SSH-ключей.
KVM-консоль для доступа к удаленному хосту (VNC) и последовательному порту.
Шаблоны VM.
Экспорт образов из существующих VM.
Terraform-провайдер.

Хранилище

Блочное хранилище Longhorn.
Встроенное хранилище образов VM.
Бэкапы и восстановление VM в/из S3.
«Горячее» подключение дисков.

Сеть

Виртуальные IP для кластера.
Мультисегментная сеть.
VLAN.
Пользовательские SSL-сертификаты.

Kubernetes (Rancher)

Создание Kubernetes-кластеров.
Управление виртуализацией через Rancher сразу для нескольких кластеров Harvester.
Мультитенантность с поддержкой RBAC.
Встроенный CSI-драйвер.

Фокус на Kubernetes

Для простоты Harvester можно считать Kubernetes-платформой, с помощью которой можно управлять не только K8s-кластерами, но и виртуальными машинами — через единую панель управления. Реализовано это благодаря интеграции RKE2 и KubeVirt.

Процесс создания VM в панели управления
Процесс создания VM в панели управления

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 [17] предоставляет интерфейс между сетевыми провайдерами и сетью VM внутри кластера. Реализация VLAN основана на CNI-плагине bridge [18]. Для настройки сети на хосте, на котором развернут кластер, используется Harvester Network Controller [19] («под капотом» у контроллера — тот же bridge CNI и Multus-CNI) [16].

Администрировать Harvester можно и через веб-интерфейс (GUI), и через консоль, используя в том числе kubectl. При этом виртуальные машины для kubectl эквивалентны Pod’ам в Kubernetes:

Обзор Harvester — гиперконвергентного Open Source-решения на базе Kubernetes - 7

Если пользователь не знаком с kubectl, он может работать только через GUI; по заверению разработчика, это полноценный инструмент для администрирования и отладки. Базовых знаний Kubernetes для освоения Harvester должно быть достаточно — при условии, конечно, что пользователь хорошо знаком с Linux и виртуализацией.

Для обслуживания сложной мультикластерной инфраструктуры предусмотрена интеграция Harvester с K8s-платформой Rancher [20] (v2.6.1 и новее). Кластер Harvester в составе таких инсталляций можно администрировать через панель управления Rancher. В этом случае Harvester выступает в роли дополнительного cloud provider’а:

Обзор Harvester — гиперконвергентного Open Source-решения на базе Kubernetes - 8

Кластеры могут быть развернуты как локально, так и в гибридной среде (например, часть — в собственном дата-центре, часть — в публичном облаке) и управляться как единая инфраструктура с помощью встроенных в Rancher инструментов аутентификации, контроля доступа и мониторинга.

Аналоги

Из более-менее близких по техническим возможностям решений можно отметить три:

  1. Proxmox Virtual Environment [21] — платформа виртуализации с открытым кодом, которая предлагает единую среду управления виртуальными машинами на базе KVM и Linux-контейнерами (LXC). Поскольку платформа программно объединяет вычислительные ресурсы, хранилище и сеть в единую систему, ее можно использовать как основу для построения HCI [22]

  2. Связка платформы виртуализации vSphere [23] и Kubernetes-платформы Tanzu [24]. Виртуальные машины запускаются вместе с контейнерами в общей среде Kubernetes [25] через панель управления vSphere.

  3. Связка Kubernetes-платформы OpenShift [26] и аддона Red Hat OpenShift Virtualization [27]. Аддон добавляет новые объекты в кластер 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 будет расширяться [28]. Компания намерена активно формировать сообщество вокруг проекта и приглашает желающих поучаствовать в его развитии [29].

P.S.

Читайте также в нашем блоге:

Автор: Oleg Zinovyev

Источник [32]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/375042

Ссылки в тексте:

[1] SUSE: https://www.suse.com/

[2] представила: https://www.suse.com/c/harvester-ga-announcement/

[3] Harvester: https://github.com/harvester/harvester

[4] последнему отчету Gartner: https://blocksandfiles.com/2021/11/23/gartners-2021-hyperconverged-magic-quadrant-leaders-unchanged-bye-bye-datacore-hello-visionary-stormagic/

[5] Market Study Report, LLC.: https://www.marketstudyreport.com/reports/global-hyper-converged-infrastructure-market-size-research?utm_source=Marketwatchtm.com/&utm_medium=AK

[6] По словам Sheng Yang: https://youtu.be/87_ODymEGC0?t=286

[7] Rancher: https://github.com/rancher/rancher

[8] openSUSE Leap 15.3: https://get.opensuse.org/leap/

[9] containerOS (cOS): https://github.com/rancher-sandbox/cOS-toolkit

[10] Rancher Kubernetes Engine 2: https://github.com/rancher/rke2/

[11] KubeVirt: https://kubevirt.io/

[12] «инкубация»: https://www.cncf.io/projects/kubevirt/

[13] Longhorn: https://longhorn.io/

[14] наш обзор Longhorn: https://habr.com/ru/company/flant/blog/474208/

[15] MinIO: https://min.io/

[16] Multus CNI: https://github.com/k8snetworkplumbingwg/multus-cni

[17] CNI: https://github.com/containernetworking/cni

[18] на CNI-плагине bridge: https://www.cni.dev/plugins/current/main/bridge/

[19] Harvester Network Controller: https://github.com/harvester/network-controller-harvester

[20] Rancher: https://rancher.com/

[21] Proxmox Virtual Environment: https://pve.proxmox.com/wiki/Main_Page

[22] ее можно использовать как основу для построения HCI: https://pve.proxmox.com/wiki/Hyper-converged_Infrastructure

[23] vSphere: https://www.vmware.com/products/vsphere.html

[24] Kubernetes-платформы Tanzu: https://tanzu.vmware.com/tanzu

[25] в общей среде Kubernetes: https://docs.vmware.com/en/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-1BAB6DBF-0EEE-44BD-ADCC-7499E4444020.html#GUID-1BAB6DBF-0EEE-44BD-ADCC-7499E4444020

[26] OpenShift: https://www.redhat.com/en/technologies/cloud-computing/openshift

[27] Red Hat OpenShift Virtualization: https://catalog.redhat.com/software/operators/detail/5ec53f218b6f188e53644c4f

[28] будет расширяться: https://github.com/harvester/harvester/projects/3

[29] поучаствовать в его развитии: https://more.suse.com/FY21_Global_Web_HarvesterProductSurvey_2021.html?utm_campaign=Kubernetes%20Master%20Class%20Training%20Series&utm_medium=email&_hsmi=2&_hsenc=p2ANqtz-9rdzdbu2b5KHPNqtRxiFhB9rJcXRffqe3-7tcDDaFhYNshD3AWrX0o06JgaqTyQGXQVCES1MkPtdVA8EzhfrqeC5ZNtg&utm_content=2&utm_source=hs_email

[30] «Исследование производительности свободных хранилищ LINSTOR, Ceph, Mayastor и Vitastor в Kubernetes»: https://habr.com/ru/company/flant/blog/664150/

[31] «Музыкальные пародии от SUSE про Kubernetes, Линуса Торвальдса и других»: https://habr.com/ru/company/flant/blog/433158/

[32] Источник: https://habr.com/ru/post/665066/?utm_source=habrahabr&utm_medium=rss&utm_campaign=665066