Способы установки платформы
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-прокси сервера).
Процесс развертывания платформы состоит из следующих этапов:
-
Утилита
nova-ctl
использует подготовленные пользователем манифесты и определяет метод развертывания платформы. В случае использования метода IPI,nova-ctl
взаимодействует с API провайдера инфраструктуры для создания и настройки ВМ. -
Далее
nova-ctl
проверяет доступность созданных ВМ и по мере их готовности устанавливает в ОС минимальный набор необходимых пакетов и служб. -
На мастер-узлах платформы
nova-ctl
выполняет установку и настройку Secrets Manager: настраивает необходимые политики доступа, секреты, инфраструктуру PKI, провайдера OIDC, роли аутентификации Kubernetes. -
На всех узлах платформы
nova-ctl
запускает агенты Nova Host Agent, которые подключаются к Configuration Manager для получения сценария установки и применяют его локально. -
После установки основных компонентов кластера Kubernetes и проверки их работоспособности выполняется установку в кластер базового модуля ПО.
-
По завершении установки компонентов базового модуля ПО
nova-ctl
передает пользователю учетные данные и информацию о доступе к развернутому кластеру.