Способы установки платформы

1. О способах установки

Установка Nova Container Platform поддерживает различное количество конфигураций и сценариев, которые рассмотрены в данном разделе документации.

1.1. Инструменты установки

В качестве инструмента установки платформы используется консольная утилита nova-ctl, которую можно использовать в следующих режимах:

  • Интерактивный: с помощью nova-ctl пользователь в интерактивном режиме может получить шаблоны установочных манифестов, подтвердить планируемые изменения в инфраструктуре (например, при автоматическом создании ВМ в виртуальных средах), выполнить развертывание платформы.

  • Автоматический: пользователь может заранее подготовить необходимые манифесты для установки платформы и использовать nova-ctl в режиме автоматического подтверждения всех операций. Данный режим может быть полезен, если требуется автоматизация процесса по установке платформы.

1.2. Инфраструктура для установки

В зависимости от доступной инфраструктуры установка платформы может быть выполнена тремя методами:

  • Installer-provisioned infrastructure (IPI): Автоматизированный метод развертывания в инфраструктуре, подготовленной установщиком nova-ctl. Данный метод может применяться в средах виртуализации и облачных средах. За счет взаимодействия nova-ctl с API провайдера инфраструктуры необходимые узлы платформы (виртуальные машины) могут быть подготовлены автоматически.

  • User-provisioned infrastructure (UPI): Автоматизированный метод развертывания в инфраструктуре, подготовленной пользователем. Данный метод обеспечивает полный контроль и кастомизацию инфраструктурного слоя. Перед установкой платформы пользователь самостоятельно подготавливает необходимые узлы платформы согласно представленным в документации требованиям. Данный метод подходит для развертывания в средах, где взаимодействие установщика с API провайдера инфраструктуры недоступно, а также в случае развертывания платформы на узлах без использования средств виртуализации.

  • Гибридный: Метод используется, если планируется размещать все или часть рабочих узлов кластера в отдельных средах виртуализации, облаках или на физических серверах.

Информация

Более подробную информацию по провайдерам инфраструктуры вы можете получить в разделе документации Провайдеры инфраструктуры.

1.3. Сетевое окружение

Установка платформы может быть выполнена с учетом требований к сетевому окружению в используемой инфраструктуре:

  • Онлайн: Когда все узлы кластера имеют прямой доступ в сеть Интернет. Данный метод является самым простым и быстрым, используются публичные репозитории Nova Container Platform.

  • Онлайн через HTTP-прокси: Установка может быть выполнена с использованием на узлах кластера HTTP-прокси организации для доступа к публичным репозиториям Nova Container Platform.

  • Офлайн: Установка платформы выполняется в полностью закрытом сетевом окружении. Для установки используется предварительно настроенный сервер управления Nova Universe, который предоставляет все необходимые репозитории. Дальнейшее обновление Nova Container Platform выполняется также с использованием Nova Universe без доступа к сети Интернет.

1.4. Тип кластера

В зависимости от требований к количеству ресурсов и отказоуйстойчивости компонентов, вы можете развертывать кластера следующих типов:

  • Минимальный: Кластер для целей тестирования и разработки. Поддерживается установка минимум на 3 узла (1 мастер-узел, 1 инфраструктурный и 1 рабочий узлы).

  • Минимальный с выделенным балансировщиком: Данный кластер аналогичен минимальному, однако балансировщик нагрузки (сервис-прокси) Ingress Nginx размещается на отдельных узлах. Вы можете размещать данный узел в отдельном сетевом сегменте для повышения безопасности платформы.

  • Высокодоступный: Кластер для продуктивных окружений. Поддерживается установка минимум на 8 узлов (3 мастер-узла, 3 инфраструктурных и 2 рабочих узла). Компоненты Kubernetes и платформенные сервисы Nova Container Platform разворачиваются в нескольких репликах.

  • Высокодоступный с выделенным балансировщиком: Данный кластер аналогичен высокодоступному, однако балансировщики нагрузки (сервис-прокси) Ingress Nginx размещаются на отдельных узлах. Вы можете размещать данные узлы в отдельном сетевом сегменте для повышения безопасности платформы.

Информация

В разделе документации Выбор метода установки вы можете найти рекомендации по использованию различных конфигураций Nova Container Platform. Ознакомьтесь с данным разделом перед установкой платформы.

1.5. Операционные системы и среды

Nova Container Platform поддерживает различные среды для установки и операционные системы. Подробную информацию вы можете найти в разделе Перечень матриц совместимости и протестированных интеграций.

1.6. Кастомизация кластера на этапе установки

Вы можете установить как кластер с настройками по умолчанию, так и указать дополнительные настройки кластера в различных контекстах. Это регулируется обязательными и опциональными параметрами API, используемом в конфигурационном манифесте nova-deployment-conf.yaml.

  • Для любого метода установки вы можете предварительно определить группы узлов кластера и указать для узлов настройки Kubernetes Labels, Annotations, Taints.

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

  • В контексте кластера Kubernetes вы можете предварительно определить дополнительные роли узлов, указать CIDR подсетей Kubernetes, сконфигурировать службы DNS.

  • В контексте установки базового модуля ПО вы можете указать параметры развертывания инфраструктуры PKI и параметры DNS-зоны для размещения служебных веб-сервисов платформы.

2. Об установщике nova-ctl

Установщик nova-ctl выполняет основные задачи для развертывания и обслуживания кластеров Nova Container Platform, а именно:

  • развертывает виртуальные машин кластера (при использовании метода развертывания IPI)

  • настраивает внутренние службы PKI

  • управляет хостовыми агентами Nova Host Agent

  • координирует процессы установки, обновления и масштабирования платформы

Для установки платформы nova-ctl использует конфигурационный манифест объекта cluster с типом Infrastructure в API-группе config.nova-platform.io. Пользователь может получить шаблон манифеста с помощью команды nova-ctl init, далее заполнить манифест в соответствии со спецификацией API, затем выполнить установку платформы с помощью команды nova-ctl bootstrap.

Выполнив команду nova-ctl init пользователь получает в рабочей директории новую директорию nova-configs, в которой находится шаблон конфигурационного манифеста nova-deployment-conf.yaml. В данной директории также могут находиться другие подготовленные пользователем конфигурационные манифесты (например, для установки платформы с использованием HTTP-прокси сервера).

Процесс развертывания платформы состоит из следующих этапов:

  1. Утилита nova-ctl использует подготовленные пользователем манифесты и определяет метод развертывания платформы. В случае использования метода IPI, nova-ctl взаимодействует с API провайдера инфраструктуры для создания и настройки ВМ.

  2. Далее nova-ctl проверяет доступность созданных ВМ и по мере их готовности устанавливает в ОС минимальный набор необходимых пакетов и служб.

  3. На мастер-узлах платформы nova-ctl выполняет установку и настройку Secrets Manager: настраивает необходимые политики доступа, секреты, инфраструктуру PKI, провайдера OIDC, роли аутентификации Kubernetes.

  4. На всех узлах платформы nova-ctl запускает агенты Nova Host Agent, которые подключаются к Configuration Manager для получения сценария установки и применяют его локально.

  5. После установки основных компонентов кластера Kubernetes и проверки их работоспособности выполняется установку в кластер базового модуля ПО.

  6. По завершении установки компонентов базового модуля ПО nova-ctl передает пользователю учетные данные и информацию о доступе к развернутому кластеру.