Установка и обновление
Методы установки платформы
Развертывание Nova Container Platform может быть выполнено несколькими методами:
-
Installer-provisioned infrastructure (IPI): Автоматизированный метод развертывания в инфраструктуре, подготовленной установщиком. Данный метод может применяться в средах виртуализации и облачных средах, поддерживаемых установщиком. За счет взаимодействия установщика платформы с API поставщика инфраструктуры необходимые узлы платформы (виртуальные машины) могут быть подготовлены автоматически.
-
User-provisioned infrastructure (UPI): Автоматизированный метод развертывания в инфраструктуре, подготовленной пользователем. Данный метод обеспечивает полный контроль и кастомизацию инфраструктурного слоя. Перед установкой платформы пользователь самостоятельно подготавливает необходимые узлы платформы согласно требованиям Nova Container Platform. Данный метод подходит для развертывания в средах, где взаимодействие установщика с API поставщика инфраструктуры недоступно, а также в случае развертывания платформы на узлах без использования средств виртуализации.
Note
Методы развертывания поддерживают установку кластера в изолированных средах без доступа к сети Интернет.
Установщик платформы nova-ctl
Установщик платформы nova-ctl используется для развертывания кластеров Nova Container Platform.
Он выполняет следующие задачи:
-
подготовка необходимых конфигураций для запуска процесса установки кластера на основе заполненого пользователем файла конфигурации установки
nova-deployment-conf.yaml
-
развертывание виртуальных машин кластера (при использовании метода развертывания IPI)
-
конфигурация базовых инфраструктурых сервисов PKI, в том числе центров сертификации
-
взаимодействие с хостовыми агентами (Nova Host Agent)
-
координация процессов установки платформы
После подготовки стартовых конфигураций и установки базовых инфраструктурых сервисов, установщик передает команду на установку платформы всем хостовым агентам параллельно. Таким образом достигается значительное сокращение времени на установку кластеров с большим количеством узлов.
Далее приведены основные блоки конфигурации установки платформы, передаваемые установщику nova-ctl
.
Поддерживаемые среды и операционные системы
Кластер Nova Container Platform поддерживает различные среды для установки и операционные системы. Подробную информацию вы можете найти в разделе Перечень матриц совместимости и протестированных интеграций.
Развертывание в гибридных средах
Если вы планируете размещение узлов платформы в гибридных средах (например, развертывание выделенной группы Compute-узлов в отдельной среде виртуализации или публичном облаке), то кластер Nova Container Platform может быть установлен только с использованием метода UPI.
В зависимости от выбранного метода развертывания, установка кластера может выполняться на узлах как с полным доступом к сети Интернет, частичным или полностью в изолированном контуре.
Процесс установки платформы
Перед установкой кластера Nova Container Platform вы загружаете установщик платформы nova-ctl. В Nova Container Platform установщик является контейнером, запускаемым пользователем на локальной или удаленной машине, внутри которого предустановлен набор необходимых инструментов для установки платформы.
Установщик платформы предоставляет пользователю шаблон конфигурации установки, который необходимо заполнить в соответствие с выбранным методом развертывания.
-
Для кластеров в инфраструктуре, подготовленной установщиком (IPI) вы делегируете задачи по развертыванию виртуальных машин в среде виртуализации установщику nova-ctl. Поэтому шаблон конфигурации предполагает обязательную настройку учетных данных для подключения к API поставщика инфраструктуры. При этом, детальная настройка среды (сети, маршрутизации сетевого трафика, хранилищ данных, образов или шаблонов виртуальных машин, правил межсетевого экранирования, глобальной балансировки сетевого трафика) остается в зоне ответственности пользователя.
-
Для кластеров в инфраструктуре, подготовленной пользователем (UPI) вы самостоятельно предоставляете всю необходимую информацию установщику nova-ctl.
Установщик nova-ctl требует от пользователя только один файл конфигурации nova-deployment-conf.yaml.
В ходе установки платформы информация из данного файла используется для определения параметров установки и получения сценариев установки от сервиса настройки ПО.
Внимание
По умолчанию при установке используется облачный сервис настройки ПО Nova.
Далее представлена схема, демонстрирующая процесс установки Nova Container Platform по шагам.
Схема, представленная выше, также актуальна и для метода развертывания UPI за исключением этапа взаимодействия с API поставщика инфраструктуры.
Процесс развертывания платформы состоит из следующих этапов:
-
Установщик nova-ctl принимает подготовленный пользователем файл конфигурации и определяет метод развертывания платформы. В случае использования метода IPI, установщик отправляет соответствующие запросы в API поставщика инфраструктуры для создания ВМ платформы. Настройка сетевых интерфейсов ВМ выполняется службой
cloud-init
на каждом узле кластера. -
Установщик nova-ctl проверяет доступность созданных ВМ и по мере их готовности устанавливает в ОС необходимые пакеты и сервисы, готовит стартовые конфигурации, а затем инициализирует на узлах Control Plane хранилище секретов Secrets Manager и выполняет настройку инфраструктуры PKI для служб Kubernetes, хранилища Etcd, сервисов Kubelet. Также на данном этапе в Secrets Manager создаются все необходимые секреты и учетные данные для сервисов Kubernetes.
-
Далее установщик nova-ctl взаимодействует с агентами Nova Host Agent, передает стартовые конфигурации и запускает фазу установки кластера Kubernetes. На данном этапе агенты на узлах подключаются к сервису настройки ПО для получения сценария установки и применяют его локально.
-
После установки основных компонентов кластера Kubernetes и проверки их работоспособности, первый мастер-узел Control Plane выполняет установку в кластер базового модуля ПО. Базовый модуль включает в себя службы непрерывной доставки, хранилище репозиториев, службы интеграции с хранилищем секретов и многое другое. Службы непрерывной доставки выполняет установку всех компонентов модуля ПО и проверяет их доступность.
-
Установщик nova-ctl также проверяет статус компонентов модуля ПО и по завершении их установки, завершает процессы установки кластера.
Кастомизация кластера на этапе установки
Вы можете установить как стандартный кластер с настройками по умолчанию, так и указать дополнительные настройки кластера в различных контекстах. Это регулируется обязательными и опциональными параметрами в файле конфигурации установки nova-deployment-conf.yaml
.
-
Для любого метода установки вы можете предварительно определить группы узлов кластера и указать для узлов настройки Kubernetes
Labels
,Annotations
,Taints
. -
В контексте поставщика инфраструктуры при развертывании кластера методом IPI вы можете указать отдельные настройки для групп узлов кластера, например, шаблоны ВМ, сетевые настройки, количество ресурсов ВМ, хранилища данных.
-
В контексте кластера Kubernetes вы можете предварительно определить какие группы узлов будут иметь роли Control Plane и Compute, определить дополнительные роли узлов, указать CIDR подсетей Kubernetes, сконфигурировать службы DNS.
-
В контексте установки базового модуля ПО вы можете указать параметры развертывания инфраструктуры PKI и параметры DNS-зоны для размещения служебных веб-сервисов платформы.