Deckhouse Virtualization Platform на bare metal

В этом руководстве вы по шагам установите Deckhouse Virtualization Platform (DVP) на тестовый стенд: один master-узел, один worker-узел и внешний NFS-сервер для дисков виртуальных машин (ВМ). По окончанию установки вы войдёте в веб-интерфейс и познакомитесь с возможностями DVP.

Возможности виртуализации доступны как в DVP (самостоятельный продукт, для которого предназначено это руководство), так и в модуле virtualization в отдельных редакциях Deckhouse Kubernetes Platform (DKP). Подробная информация о возможностях виртуализации описана в разделе «Редакции платформы».

На схеме ниже показана архитектура тестового стенда для этого руководства:

Архитектура Deckhouse Virtualization Platform для быстрого старта

Конфигурации тестового стенда достаточно для ознакомительных целей, но она не подходит для production-окружений. Ознакомьтесь с рекомендациями по подготовке к production и рекомендуемыми архитектурными решениями. Эти рекомендации помогут правильно выбрать типы и количество узлов кластера в зависимости от ваших требований к эксплуатации.

Выбрав желаемую архитектуру, обратитесь к разделу «Установка платформы» для получения подробных инструкций по установке платформы в production-окружении.

Если стенд разворачивается на ВМ (не на bare metal), включите вложенную виртуализацию на гипервизоре для worker-узла. Без неё DVP не сможет запускать гостевые ВМ. Установка на ВМ допустима только для ознакомления; см. требования к платформе.

Требования к аппаратному и программному обеспечению

Для установки DVP необходима корректная настройка следующих компонентов:

  1. Персональный компьютер — машина, с которой будет производиться установка DVP. Она используется только для запуска инсталлятора и не входит в состав кластера.

    Требования...

    • ОС: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+, Fedora 35+);
    • установленный Docker Engine или Docker Desktop (инструкции для Ubuntu, macOS, Windows);
    • HTTPS-доступ к хранилищу образов контейнеров registry.deckhouse.ru;
    • SSH-доступ к каждому узлу будущего кластера.
  2. master-узел — узел кластера, на котором запускаются системные компоненты DVP. Master-узел выполняет функции управления кластером и координации работы всех узлов.

    Требования...

    В config.yml по умолчанию указан ContainerdV2 как container runtime на узлах кластера. Чтобы использовать ContainerdV2 в качестве container runtime на узлах кластера, они должны соответствовать следующим требованиям:

    • поддержка CgroupsV2;
    • systemd версии 244;
    • поддержка модуля ядра erofs.

    Некоторые дистрибутивы (например, Astra Linux 1.7.4) не соответствуют этим требованиям, и ОС на узлах необходимо привести в соответствие с требованиями перед установкой DVP.

    • Процессор:
      • архитектура x86_64;
      • поддержка инструкций Intel VT-x (VMX) или AMD-V (SVM).
    • BIOS/UEFI:
      • включена поддержка аппаратной виртуализации в настройках BIOS/UEFI.
    • Ресурсы master-узла:
      • не менее 6 vCPU (рекомендовано 8 vCPU);
      • не менее 12 ГБ оперативной памяти (рекомендовано 16 ГБ);
      • не менее 60 ГБ дискового пространства на быстром диске с 400+ IOPS.
    • Операционная система:
    • Программное обеспечение:
      • установленные пакеты cloud-init и cloud-utils (названия могут различаться в зависимости от дистрибутива);
      • на узле не должно быть установлено пакетов container runtime, например containerd или docker.
    • Сеть:
      • HTTPS-доступ к registry.deckhouse.ru и репозиториям пакетов ОС;
      • SSH-доступ от персонального компьютера для установки по порту 22/TCP;
      • уникальный hostname на всех узлах кластера.

    На RHEL, Rocky Linux, CentOS и AlmaLinux откройте нужные порты в firewalld (как минимум SSH 22/TCP, а позже HTTP/HTTPS 80/TCP и 443/TCP на master-узле) или отключите firewall на время развёртывания стенда.

    Для стабильной работы живой миграции требуется использование идентичной версии ядра Linux на всех узлах кластера.

    Это связано с тем, что различия в версиях ядра могут привести к несовместимости интерфейсов, системных вызовов и особенностей работы с ресурсами, что может нарушить процесс миграции ВМ.

  3. worker-узел — узел кластера, предназначенный для запуска пользовательской нагрузки и ВМ.

    Требования...

    Требования к worker-узлу аналогичны требованиям, предъявляемым к master-узлу, но также зависят от характера запускаемой на узле нагрузки. На worker-узле дополнительно работают виртуальные машины, поэтому оперативную память стоит брать по верхней границе рекомендации.

  4. Сервер NFS — внешний сервер системы хранения данных NFS (Network File System), используемый для хранения дисков ВМ и данных компонентов кластера (метрик, логов и т.д.). NFS-сервер предоставляет централизованное хранилище, доступное со всех узлов кластера.

    Требования...

    • Системные требования:
      • поддерживаемая ОС с возможностью установки NFS-сервера;
      • не менее 60 ГБ дискового пространства: образы и диски ВМ, метрики, данные компонентов кластера.
    • Доступы и сеть:
      • сетевой доступ по протоколу NFS (рекомендуется NFSv4.1) с master- и worker-узлов;
      • экспорт каталога для DVP с опцией no_root_squash;
      • SSH-доступ от персонального компьютера (см. п. 1) по ключу для администрирования NFS-сервера.

Поддерживаемые гостевые ОС

DVP поддерживает операционные системы, работающие на архитектурах x86 и x86-64, в качестве гостевых ОС. Для корректной работы в режиме паравиртуализации необходимо установить драйверы VirtIO, обеспечивающие эффективное взаимодействие между ВМ и гипервизором.

Успешный запуск операционной системы определяется следующими критериями:

  • корректная установка и загрузка ОС;
  • бесперебойная работа основных компонентов, таких как сеть и хранилище;
  • отсутствие сбоев или ошибок в процессе работы.

Для операционных систем семейства Linux рекомендуется использовать образы гостевых ОС с поддержкой cloud-init, что позволяет выполнять инициализацию ВМ после их создания.

Для операционных систем семейства Windows платформа поддерживает инициализацию с помощью autounattend установки.