Nova Container Platform CLI
Nova Container Platform CLI (nova-ctl) - инструмент управления кластерами Nova Container Platform, с помощью которого администраторы платформы могут выполнять операции по созданию новых кластеров, а также масштабированию или обновлению существующих кластеров.
Nova Container Platform CLI (nova-ctl) поставляется в виде образа контейнера, который запускается на локальной машине пользователя.
1. О узеле 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выполняет установку и настройку StarVault: настраивает необходимые политики доступа, секреты, инфраструктуру PKI, провайдера OIDC, роли аутентификации Kubernetes. -
На всех узлах платформы
nova-ctlзапускает агенты Nova Host Agent, которые подключаются к Configuration Manager для получения сценария установки и применяют его локально. -
После установки основных компонентов кластера Kubernetes и проверки их работоспособности выполняется установку в кластер базового модуля ПО.
-
По завершении установки компонентов базового модуля ПО
nova-ctlпередает пользователю учетные данные и информацию о доступе к развернутому кластеру.
2. Установка Nova Container Platform CLI
Для установки nova-ctl вам потребуется персональный компьютер, виртуальная машина или сервер, с которого в дальнейшем будет выполняться установка кластера.
Требования к ОС и ПО:
-
ОС: Windows 10+, macOS 10.15+, Linux
-
Docker Desktop или Docker Engine для запуска утилиты установки Nova Container Platform
Информация
Вы можете установить Docker для вашей ОС следуя официальным инструкциям для Ubuntu, macOS, Windows. Вы также можете использовать Podman в качестве альтернативы Docker и выполнить его установку следуя официальным инструкциям для вашей ОС.
-
Выберите актуальную версию
nova-ctl.Информация
Получить информацию об актуальных версиях
вы можете в разделе Релизы и обновления.nova-ctl -
Загрузите образ контейнера с
nova-ctl:docker pull hub.nova-platform.io/public/nova/nova-ctl:v7.0.0Информация
Если вы планируете установку платформы в закрытом контуре и уже установили в инфраструктуре виртуальную машину Nova Universe, то образ
можно загрузить с его встроенного хранилища.nova-ctl -
Для загрузки образа nova-ctl из хранилища Nova Universe выполните следующие команды:
docker login hub.universe.mycompany.local docker pull hub.universe.mycompany.local/nova-universe/nova/nova-ctl:v7.0.0где
hub.universe.mycompany.local- адрес хранилища образов Nova Universe. -
Для сохранения различных файлов конфигурации утилите
nova-ctlтребуется какая-либо локальная директория, напримерnova-install-dir. Вы можете создать данную директорию позже, когда перейдете к установке платформы:mkdir ~/nova-install-dir cd ~/nova-install-dir
Запуск утилиты nova-ctl выполняется в контейнере, который запускается с помощью команды:
docker run --rm -it -v $PWD:/opt/nova <образ nova-ctl:версия>
Пример
$ docker run --rm -it -v $PWD:/opt/nova universe.mycompany.local/nova-universe/nova/nova-ctl:v7.0.0
|
Переменная |
3. Использование Nova Container Platform CLI
Ознакомьтесь с примерами использования утилиты nova-ctl.
3.1. Получение списка доступных команд
Чтобы получить список доступных команд, выполните следующую команду:
nova-ctl --help
Пример
636c902838f4:/opt/nova# nova-ctl list
Nova Container Platform (version v7.0.0)
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command.
-q, --quiet Do not output any message.
-n, --no-interaction Do not ask any interactive question.
-y, --assume-yes Automatically answer yes for all questions.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
Available commands:
bootstrap Bootstrap cluster.
certs
cluster
help Displays help for a command.
init Initialize cluster configuration.
license Show Nova container platform license.
list Lists commands.
scale Scale cluster.
version Show nova-ctl version.
certs
certs check-expiration Show Nova platform certificates.
certs renew Renew Nova platform certificates.
cluster
cluster destroy Destroy cluster.
cluster update Update cluster.
3.2. Получение справки по команде
Для получения справки по какой-либо команде в nova-ctl, выполните следующую команду:
nova-ctl help <команда>
Пример
636c902838f4:/opt/nova# nova-ctl help bootstrap
Description:
Bootstrap cluster.
Usage:
bootstrap [options]
Options:
-f, --file=FILE Deployment configuration file name (DEPRECATED: used dir option)
--ssh-key=SSH-KEY Path to SSH private key file
--ssh-user=SSH-USER SSH user name
-t, --ssh-timeout=SSH-TIMEOUT SSH connection timout [default: "5"]
-d, --dir=DIR Config directory path [default: "nova-configs"]
--ingress-ca-key-passphrase[=INGRESS-CA-KEY-PASSPHRASE] Ingress CA key passphrase
-h, --help Display help for the given command. When no command is given display help for the list command.
-q, --quiet Do not output any message.
-n, --no-interaction Do not ask any interactive question.
-y, --assume-yes Automatically answer yes for all questions.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.