Предварительная версия. Функциональность может измениться, но основные возможности сохранятся. Совместимость с будущими версиями может потребовать ручных действий по миграции.
Внимание. Компоненты платформы необходимо развертывать на физических серверах (bare-metal).
Установка на виртуальные машины допустима только в демонстрационных целях, но при этом должна быть включена вложенная виртуализация (nested virtualization). Если платформа развернута на виртуальных машинах, техническая поддержка не предоставляется.
Возможности масштабирования платформы
Платформа поддерживает следующую конфигурацию:
- Максимальное количество узлов: 1000.
- Максимальное количество виртуальных машин: 50000.
Платформа не имеет дополнительных ограничений и совместима с любым оборудованием, которое поддерживается операционными системами, на которые она может быть установлена.
Требования к аппаратному обеспечению
-
Отдельная машина для установки.
Здесь будет запускаться установщик Deckhouse. Это может быть ноутбук администратора или любой другой компьютер, который не планируется добавлять в кластер. Требования к этой машине:
- ОС: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+, Fedora 35+);
- Установленный Docker Engine или Docker Desktop (инструкции для Ubuntu, macOS, Windows);
- HTTPS-доступ к хранилищу образов контейнеров
registry.deckhouse.ru
; - SSH-доступ по ключу к узлу, который будет master-узлом будущего кластера;
- SSH-доступ по ключу к узлу, который будет worker-узлом будущего кластера (если кластер будет состоять не из одного master-узла).
-
Сервер для master-узла.
Серверов для запуска управляющих компонентов кластера может быть несколько. Для установки достаточно одного сервера, а остальные нужно будет добавить через механизмы управления узлами.
Требования к физическому bare metal-серверу:
- Ресурсы:
- Процессор:
- Архитектура x86_64;
- Поддержка инструкций Intel-VT (VMX) или AMD-V (SVM);
- не менее 4 ядер;
- ОЗУ не менее 8 ГБ;
- Дисковое пространство:
- не менее 60 ГБ;
- быстрый диск (400+ IOPS);
- Процессор:
- ОС из списка поддерживаемых:
- ядро Linux версии
5.7
или новее;
- ядро Linux версии
- Уникальный hostname среди всех серверов будущего кластера;
- Сетевые доступы:
- HTTPS-доступ к хранилищу образов контейнеров
registry.deckhouse.ru
; - доступ к репозиториям пакетов используемой ОС;
- SSH-доступ от машины для установки (см. п.1) по ключу;
- сетевой доступ от машины для установки (см. п.1) по порту
22322/TCP
;
- HTTPS-доступ к хранилищу образов контейнеров
- Требуемое ПО:
- пакеты
cloud-utils
иcloud-init
должны быть установлены.
- пакеты
Важно. Container runtime будет установлен автоматически, поэтому пакеты
containerd
и/илиdocker
не должны быть установлены. - Ресурсы:
-
Серверы для worker-узлов.
Это узлы, где будут запускаться виртуальные машины, поэтому ресурсов на этих серверах должно хватать для запуска планируемого количества виртуальных машин. При использовании программно-определяемого хранилища могут потребоваться дополнительные диски.
Требования к физическому bare metal-серверу:
- Ресурсы:
- Процессор:
- Архитектура x86_64;
- Поддержка инструкций Intel-VT (VMX) или AMD-V (SVM);
- не менее 4 ядер.
- ОЗУ не менее 8 ГБ.
- Дисковое пространство:
- не менее 60 ГБ;
- быстрый диск (400+ IOPS);
- дополнительные диски для программно-определяемого хранилища.
- Процессор:
- ОС из списка поддерживаемых:
- ядро Linux версии
5.7
или новее.
- ядро Linux версии
- Уникальный hostname среди всех серверов будущего кластера;
- Сетевые доступы:
- HTTPS-доступ к хранилищу образов контейнеров
registry.deckhouse.ru
; - доступ к репозиториям пакетов используемой ОС;
- SSH-доступ от машины для установки (см. п.1) по ключу.
- HTTPS-доступ к хранилищу образов контейнеров
- Требуемое ПО:
- пакеты
cloud-utils
иcloud-init
должны быть установлены (названия могут отличаться в зависимости от выбранной ОС).
- пакеты
Важно. Container runtime будет установлен автоматически, поэтому пакеты
containerd
и/илиdocker
не должны быть установлены. - Ресурсы:
-
Оборудование для хранилища.
В зависимости от выбранного хранилища могут потребоваться дополнительные ресурсы. Подробности смотрите в разделе Управление хранилищами.
Поддерживаемые ОС для узлов платформы
Дистрибутив Linux | Поддерживаемые версии |
---|---|
РЕД ОС | 7.3, 8.0 |
РОСА Сервер | 7.9, 12.4, 12.5.1 |
ALT Linux | p10, 10.0, 10.1, 10.2, 11 |
Astra Linux Special Edition | 1.7.2, 1.7.3, 1.7.4, 1.7.5, 1.8 |
CentOS | 7, 8, 9 |
Debian | 10, 11, 12 |
Ubuntu | 18.04, 20.04, 22.04, 24.04 |
Поддерживаемые гостевые ОС
Платформа виртуализации поддерживает операционные системы, работающие на архитектурах x86
и x86_64
, в качестве гостевых ОС. Для корректной работы в режиме паравиртуализации необходимо установить драйверы VirtIO
, обеспечивающие эффективное взаимодействие между виртуальной машиной и гипервизором.
Успешный запуск операционной системы определяется следующими критериями:
- корректная установка и загрузка ОС;
- бесперебойная работа основных компонентов, таких как сеть и хранилище;
- отсутствие сбоев или ошибок в процессе работы.
Для операционных систем семейства Linux рекомендуется использовать образы гостевых ОС с поддержкой cloud-init
, что позволяет выполнять инициализацию виртуальных машин после их создания.
Для операционных систем семейства Windows платформа поддерживает инициализацию с помощью встроенной утилиты sysprep.
Поддерживаемые конфигурации виртуальных машин
Максимальное число поддерживаемых ядер: 254
Максимальный объем оперативной памяти: 1024 Гб
Поддерживаемые хранилища
Виртуальные машины используют ресурсы PersistentVolume
. Для управления этими ресурсами и выделения дискового пространства в кластере должно быть установлено одно или несколько поддерживаемых хранилищ:
Хранилище | Расположение дисков |
---|---|
LVM (Logical Volume Manager) | Локальное |
DRBD (Distributed Replicated Block Device) | Реплики на узлах кластера |
Ceph-кластер | Внешнее хранилище |
NFS (Network File System) | Внешнее хранилище |
TATLIN.UNIFIED (Yadro) | Внешнее хранилище |
Порядок установки
-
Разверните кластер Deckhouse Kubernetes Platform по инструкции.
-
Для хранения данных виртуальных машин (виртуальные диски и образы) необходимо включить один или несколько поддерживаемых хранилищ.
-
Установите
StorageClass
по умолчанию. -
Включите модуль console, который позволит управлять компонентами виртуализации через графический интерфейс (данная возможность доступна только пользователям EE-редакции).
-
Включите модуль
virtualization
:
Внимание! Включение модуля virtualization
предполагает рестарт kubelet/containerd на всех узлах, где предполагается запуск виртуальных машин. Это необходимо для настройки связности containerd и DVCR.
Для включения модуля virtualization
, необходимо создать ресурс ModuleConfig
содержащий настройки модуля.
Полный перечень параметров конфигурации приведен в разделе Настройки
Пример конфигурации модуля:
d8 k apply -f - <<EOF
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: virtualization
spec:
enabled: true # Включить модуль.
settings:
dvcr:
storage:
persistentVolumeClaim:
size: 50G
type: PersistentVolumeClaim
virtualMachineCIDRs:
- 10.66.10.0/24
version: 1
EOF
Блок .spec.settings.dvcr
описывает настройки для репозитория для хранения образов виртуальных машин, в нём указывается размер хранилища предоставляемого для хранения образов .spec.settings.dvcr.storage.persistentVolumeClaim.size
.
В блоке .spec.settings.virtualMachineCIDRs
задается список подсетей. Адреса виртуальных машин будут выделяться автоматически или по по запросу из заданных диапазонов подсетей по порядку.
Отследить готовность модуля можно с использованием следующей команды:
d8 k get modules virtualization
Пример вывода:
# NAME WEIGHT STATE SOURCE STAGE STATUS
# virtualization 900 Enabled Embedded Ready
Статус модуля должен быть Ready
.
Обновление платформы
Deckhouse Virtualization Platform использует пять каналов обновлений, предназначенных для использования в разных окружениях, к которым с точки зрения надежности применяются разные требования:
Канал обновлений | Описание |
---|---|
Alpha | Наименее стабильный канал обновлений с наиболее частым появлением новых версий. Ориентирован на кластеры разработки с небольшим количеством разработчиков. |
Beta | Ориентирован на кластеры разработки, как и канал обновлений Alpha. Получает версии, предварительно опробованные на канале обновлений Alpha. |
Early Access | Рекомендуемый канал обновлений, если вы не уверены в выборе. Подойдет для кластеров, в которых идет активная работа (запускаются, дорабатываются новые приложения и т. п.). Обновления функционала до этого канала обновлений доходят не ранее чем через одну неделю после их появления в релизе. |
Stable | Стабильный канал обновлений для кластеров, в которых закончена активная работа и преимущественно осуществляется эксплуатация. Обновления функционала до этого канала обновлений доходят не ранее чем через две недели после их появления в релизе. |
Rock Solid | Наиболее стабильный канал обновлений. Подойдет для кластеров, которым необходимо обеспечить повышенный уровень стабильности. Обновления функционала до этого канала доходят не ранее чем через месяц после их появления в релизе. |
Компоненты Deckhouse Virtualization Platform могут обновляться автоматически, либо с ручным подтверждением по мере выхода обновлений в каналах обновления.
При обновлении платформы компоненты можно разделить на две категории:
- Компоненты управления ресурсами виртуализации (плоскость управления)
- Компоненты запуска виртуальных машин (“прошивка”)
Обновление компонентов плоскости управления не влияет на работу уже запущенных виртуальных машин. Однако изменения в “прошивке” во время обновления платформы могут потребовать миграции виртуальных машин для перехода на новую версию “прошивки”.
Информацию по версиям, доступных на каналах обновления, можно получить на сайте https://releases.deckhouse.ru/