Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

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-прокси сервера).

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

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

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

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

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

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

  6. По завершении установки компонентов базового модуля ПО 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 и выполнить его установку следуя официальным инструкциям для вашей ОС.

  1. Выберите актуальную версию nova-ctl.

    Информация

    Получить информацию об актуальных версиях nova-ctl вы можете в разделе Заметки к релизу.

  2. Загрузите образ контейнера с nova-ctl:

    docker pull hub.nova-platform.io/public/nova/nova-ctl:v6.2.0

    Информация

    Если вы планируете установку платформы в закрытом контуре и уже установили в инфраструктуре виртуальную машину Nova Universe, то образ nova-ctl можно загрузить с его встроенного хранилища.

  3. Для загрузки образа nova-ctl из хранилища Nova Universe выполните следующие команды:

    docker login hub.universe.mycompany.local
    docker pull hub.universe.mycompany.local/nova-universe/nova/nova-ctl:v6.2.0

    где hub.universe.mycompany.local - адрес хранилища образов Nova Universe.

  4. Для сохранения различных файлов конфигурации утилите 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:v6.2.0

Переменная $PWD определяет текущую рабочую директорию. При запуске контейнера с утилитой nova-ctl, данная директория будет доступна контейнеру для записи файла установки и артефактов результата установки платформы Nova Container Platform.

3. Использование Nova Container Platform CLI

Ознакомьтесь с примерами использования утилиты nova-ctl.

3.1. Получение списка доступных команд

Чтобы получить список доступных команд, выполните следующую команду:

nova-ctl --help

Пример

636c902838f4:/opt/nova# nova-ctl list
Nova Container Platform (version v6.2.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.