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

Установка платформы

1. Необходимые условия

  • Вы подготовили узлы платформы для универсального метода установки (UPI) или шаблоны виртуальных машин для автоматизированного (IPI).

  • Вы подготовили узел nova-ctl для управления платформой.

  • Вы разрешили сетевое взаимодействие согласно статье Подготовка сетевого окружения.

  • Вы установили Nova Universe, если установка производится в закрытом сетевом окружении.

2. Запуск nova-ctl

  1. Подготовьте локальное хранилище на узле установки платформы для файлов конфигурации, например nova-install-dir.

    mkdir ~/nova-install-dir
    cd ~/nova-install-dir
  2. Скопируйте файл с ключом для доступа на узлы платформы в текущую директорию, затем настройте права доступа на файл следующим образом:

    chmod 600 <имя_файла_с_ключом>
  3. Запустите контейнер с nova-ctl.

    docker run --rm -it -v $PWD:/opt/nova <образ nova-ctl:версия>

    Пример

    docker run --rm -it -v $PWD:/opt/nova hub.nova-platform.io/public/nova/nova-ctl:v6.3.0 (1)
    1 Переменная $PWD определяет текущую рабочую директорию. При запуске контейнера с утилитой nova-ctl, данная директория будет доступна контейнеру для записи файла установки и артефактов результата установки платформы Nova Container Platform.
    1. Для запуска nova-ctl из хранилища Nova Universe выполните следующие команды:

      docker run --rm -it -v $PWD:/opt/nova hub.universe.mycompany.local/nova-universe/nova/nova-ctl:v6.3.0 (1)
    2 hub.universe.mycompany.local - имя вашего сервера Nova Universe

3. Инициализация

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

nova-ctl init

Пример

nova-ctl init

Select the type of infrastructure provider:
[ 0] None (Bare metal)
[ 1] vSphere
[ 2] zVirt
[ 3] K2Cloud
> 0
Select deployment method:
[ 0] Online
[ 1] Online with HTTP proxy
[ 2] Offline
> 0
Cluster configuration file is stored in nova-configs/nova-deployment-conf.yaml
Proxy configuration file is stored in nova-configs/proxy.yaml

В случае, если в качестве провайдера инфраструктуры выбран K2Cloud после инициализации потребется последовательное заполнение параметров, полученных из конфигурации УЗ К2:

Enter K2Cloud API Credentials:
AWS Access Key ID: (1)
AWS Secret: (2)
1 AWS Access Key ID - значение параметра EC2_ACCESS_KEY, который можно получить с помощью инструкции.
2 AWS Secret - значение параметра EC2_SECRET_KEY , который можно получить с помощью инструкции.

В результате инициализации в директории nova-configs появятся следующие файлы:

  • nova-deployment-conf.yaml: основной конфигурационный манифест платформы.

  • proxy.yaml: конфигурационный манифест для установки платформы через HTTP-прокси.

    (Опционально) Заполнение манифеста Proxy файла

    Если при инициализации вы выбрали пункт Online with HTTP proxy, то в директории nova-configs кроме установочного будет создан еще и proxy.yaml файл.
    Для его заполнения перейдите в статью Использование прокси-сервера при установке Nova Container Platform

4. Заполнение манифеста для установки

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

Для установки Nova Container Platform вы можете использовать следующие манифесты.

4.1. Манифест для универсального метода установки (UPI)

Для установки Nova Container Platform в пользовательской инфраструктуре выберите тип провайдера инфраструктуры None (Bare metal) при инициализации.

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha6"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: "Данные_предоставленные_вашим_аккаунт_менеджером" (1)
  licenseKey: "Данные_предоставленные_вашим_аккаунт_менеджером" (2)
  version: "v6.3.0" (3)
  infrastructureProvider: (4)
    none: {}
  clusterNodes: (5)
    master:  (6)
      - networkSpec:
          hostname: "master.mycompany.local"
          ip: "172.31.101.24"
        state: "present" (7)
    infra: (8)
      - networkSpec:
          hostname: "infra.mycompany.local"
          ip: "172.31.101.25"
        state: "present" (7)
    worker: (9)
      - networkSpec:
          hostname: "worker.mycompany.local"
          ip: "172.31.101.26"
        state: "present" (7)
  clusterConfiguration: (10)
    dnsBaseDomain: "nova.mycompany.local" (11)
    extraOptions:
      ingressTLSConfig:
        internalCA: {} (12)
1 Идентификатор клиента, полученный из лицензионной информации.
2 Лицензионный ключ для установки кластера.
3 Версия платформы Nova Container Platform.
4 Блок конфигурации провайдера инфраструктуры.
5 Блок конфигурации узлов кластера Kubernetes.
6 Список мастер-узлов кластера Nova Container Platform.
7 Желаемое состояние узла в кластере Kubernetes. Значения present не должно быть изменено при установке кластера.
8 Список инфраструктурных узлов кластера Nova Container Platform.
9 Список рабочих узлов кластера Nova Container Platform.
10 Блок дополнительных параметров настройки кластера.
11 Параметр dnsBaseDomain используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
12 Конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.

4.2. Манифест для автоматизированной установки (IPI)

4.2.1. zVirt

Для установки Nova Container Platform в инфраструктуре zVirt выберите тип провайдера инфраструктуры zVirt при инициализации.

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha6"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: "Данные_предоставленные_вашим_аккаунт_менеджером" (1)
  licenseKey: "Данные_предоставленные_вашим_аккаунт_менеджером" (2)
  version: "v6.3.0" (3)
  infrastructureProvider: (4)
    zvirt:
      auth:
        apiUrl: "https://zvirt.mycompany.local/ovirt-engine/api" (5)
        username: "username" (6)
        password: "password"
        tlsCaBundle: "LS0k1JSURxekNDQXBPZ0F3SUJBZ0lWUS0tLQo=..."  (7)
      clusterId: "63724b66-e292-11ed-a2e9-00163e3c6ec5" (8)
      templateId: "33bc2f6f-cb6f-4527-bd80-5755e9963562" (9)
      vnicProfileId: "9a58ffa8-98d8-472c-9198-5f54a9f8aaac" (10)
      csiStorageDomainName: "DataDomainName" (11)
      hostGroup:
        - name: "control-plane"
          cpuCores: 1
          cpuSockets: 4
          cpuThreads: 1
          memory: "8GiB"
          maximumMemory: "16GiB"
        - name: "infra"
          cpuCores: 1
          cpuSockets: 8
          cpuThreads: 1
          memory: "12GiB"
          maximumMemory: "24GiB"
        - name: "ingress"
          cpuCores: 1
          cpuSockets: 4
          cpuThreads: 1
          memory: "4GiB"
          maximumMemory: "8GiB"
        - name: "worker"
          cpuCores: 1
          cpuSockets: 4
          cpuThreads: 1
          memory: "8GiB"
          maximumMemory: "16GiB"
  clusterNodes: (12)
    master: (13)
      - hostGroup: "control-plane"
        networkSpec: (14)
          hostname: "master.mycompany.local" (15)
          ip: "10.251.11.111" (16)
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (17)
    infra: (18)
      - hostGroup: "infra"
        networkSpec: (14)
          hostname: "infra.mycompany.local" (15)
          ip: "10.251.11.114" (16)
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (17)
    ingress: (19)
      - hostGroup: "ingress"
        networkSpec: (14)
          hostname: "ingress.mycompany.local" (15)
          ip: "10.251.11.117" (16)
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (17)
    worker: (20)
      - hostGroup: "worker"
        networkSpec: (14)
          hostname: "worker.mycompany.local" (15)
          ip: "10.251.11.119" (16)
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (17)
  clusterConfiguration: (21)
    dnsBaseDomain: "nova.mycompany.local" (22)
    extraOptions:
      ingressTLSConfig:
        internalCA: {} (23)
1 Идентификатор клиента, полученный из лицензионной информации.
2 Лицензионный ключ для установки кластера.
3 Версия платформы Nova Container Platform.
4 Блок конфигурации провайдера инфраструктуры zVirt.
5 URL-адрес API среды виртуализации zVirt.
6 Учетная запись в среде виртуализации zVirt, используемая для подключения к zVirt API.
7 Цепочка корневых TLS-сертификатов для подключения к интерфейсу zVirt API.
8 Идентификатор кластера в среде виртуализации zVirt, в котором будут развернуты узлы кластера платформы Nova Container Platform.
Для получения идентификатора кластера в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Кластеры, затем выберите нужный кластер.
9 Идентификатор шаблона, используемого для развертывания узлов кластера платформы Nova Container Platform.
Для получения идентификатор шаблона в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Шаблоны, затем выберите нужный шаблон.
10 Идентификатор профиля сети в среде виртуализации zVirt.
Для получения идентификатор шаблона в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Шаблоны, затем выберите нужный шаблон.
11 Имя домена хранения в среде виртуализации zVirt.
Для получения имени домена хранения в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Хранилище  Домены.
12 Блок конфигурации узлов кластера Kubernetes.
13 Список мастер-узлов кластера Nova Container Platform.
14 Сетевые параметры узла кластера Kubernetes.
15 Полное имя узла (FQDN). Имя узла в кластере должно быть уникальным.
16 Ipv4 адрес узла. Ipv4 адрес узла. Указывается вручную; при отсутствии — назначается автоматически через DHCP.
17 Желаемое состояние узла в кластере Kubernetes. Значения present не должно быть изменено при установке кластера.
18 Список инфраструктурных узлов кластера Nova Container Platform.
19 Список узлов балансировки кластера Nova Container Platform.
20 Список рабочих узлов кластера Nova Container Platform.
21 Блок дополнительных параметров настройки кластера.
22 Параметр dnsBaseDomain используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
23 Конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.

4.2.2. VMware vSphere

Автоматизированная установка Nova Container Platform поддерживается только в рамках одной инфраструктуры (сервера) VMware vCenter. Для установки платформы на ВМ в разных vCenter воспользуйтесь универсальным методом установки.

В данной инструкции в качестве примера используется доменное имя (FQDN) сервера управления VMware vCenter: vcenter.mycompany.local. Данное имя необходимо заменить на действительное доменное имя вашего сервера vCenter.

Для установки Nova Container Platform в инфраструктуре VMware vSphere выберите тип провайдера инфраструктуры vSphere при инициализации.

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha6"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: "Данные_предоставленные_вашим_аккаунт_менеджером" (1)
  licenseKey: "Данные_предоставленные_вашим_аккаунт_менеджером" (2)
  version: "v6.3.0" (3)
  infrastructureProvider: (4)
    vsphere:
      auth:
        vcenterServer: "vcenter.mycompany.local"
        vcenterServerPort: 443
        tlsCaBundle: LS0tLS1CRUdJTiBDRVJ... (5)
        username: "user@vsphere.local" (6)
        password: "password" (6)
      datacenter: "DC_1"
      cluster: "Cluster_1"
      datastore: "VMs_SSD"
      template: "Templates/Redos/redos-MUROM-7.3-20231122.0"
      uselinkedClone: false
      vmFolder: "Nova_Dev_1"
      network: "Private-10.251.11.X"
      hostGroup:
      - name: "control-plane"
        cpuSockets: 2
        cpuCores: 4
        memory: "8G"
        diskSize: "32G"
        diskThinProvisioned: "inherit"
      - name: "infra"
        cpuSockets: 2
        cpuCores: 8
        memory: "16G"
        diskSize: "64G"
        diskThinProvisioned: "inherit"
      - name: "worker"
        cpuSockets: 2
        cpuCores: 4
        memory: "8G"
        diskSize: "32G"
        diskThinProvisioned: "inherit"
  clusterNodes: (7)
    master: (8)
      - hostGroup: "control-plane"
        networkSpec:
          hostname: "master.mycompany.local"
          ip: "10.251.11.111"
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (9)
    infra: (10)
      - hostGroup: "infra"
        networkSpec:
          hostname: "infra.mycompany.local"
          ip: "10.251.11.114"
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (9)
    ingress: (11)
      - hostGroup: "ingress"
        networkSpec:
          hostname: "ingress.mycompany.local"
          ip: "10.251.11.117"
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (9)
    worker: (12)
      - hostGroup: "worker"
        networkSpec:
          hostname: "worker.mycompany.local"
          ip: "10.251.11.119"
          gateway: "10.251.11.254"
          netmask: "255.255.255.0"
          dns:
            - "10.251.1.2"
            - "10.250.0.254"
        state: "present" (9)
  clusterConfiguration: (13)
    dnsBaseDomain: "nova.mycompany.local" (14)
    extraOptions:
      ingressTLSConfig:
        internalCA: {} (15)
1 Идентификатор клиента, полученный из лицензионной информации.
2 Лицензионный ключ для установки кластера.
3 Версия платформы Nova Container Platform.
4 Блок конфигурации провайдера инфраструктуры vSphere.
5 Цепочка корневых TLS-сертификатов для подключения к интерфейсу vSphere API.
6 Учетная запись в среде виртуализации vSphere, используемая для подключения к vSphere API.
7 Блок конфигурации узлов кластера Kubernetes.
8 Список мастер-узлов кластера Nova Container Platform.
9 Желаемое состояние узла в кластере Kubernetes. Значения present не должно быть изменено при установке кластера.
10 Список инфраструктурных узлов кластера Nova Container Platform.
11 Список узлов балансировки кластера Nova Container Platform.
12 Список рабочих узлов кластера Nova Container Platform.
13 Блок дополнительных параметров настройки кластера.
14 Параметр dnsBaseDomain используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
15 Конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.

4.2.3. K2Cloud

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

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha6"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: "Данные_предоставленные_вашим_аккаунт_менеджером" (1)
  licenseKey: "Данные_предоставленные_вашим_аккаунт_менеджером"  (2)
  version: "v6.3.0" (3)
  infrastructureProvider: (4)
    k2cloud:
      auth: (5)
        serviceEndpoints:
          - name: "ec2"
          url: "https://ec2.k2.cloud:443"
      templateId: "cmi-1CEADAE9" (6)
      publicKeyName: "public-ssh-key" (7)
      hostGroup:
        - name: "control-plane"
          templateId: "dni-2DEAMAE8" (8)
          rootVolume:
            size: "32G" (9)
            type: "gp2" (10)
          type: "c5p.4large" (11)
          subnetID: "subnet-68621522" (12)
          securityGroupIDs: ["sg-410A3C47"] (13)
        - name: "infra"
          templateId: "ckn-2DEAMAE5" (8)
          rootVolume:
            size: "32G"
            type: "gp2"
          type: "c5p.4large"
          subnetID: "subnet-68621522"
          securityGroupIDs: ["sg-410A3C47"]
        - name: "worker"
          templateId: "tti-1TAALME7" (8)
          rootVolume:
            size: "32G"
            type: "gp2"
          type: "c5p.4large"
          subnetID: "subnet-68621522"
          securityGroupIDs: ["sg-410A3C47"]
  clusterNodes:
    master:
      - hostGroup: "control-plane"
        networkSpec:  (14)
          hostname: "master.mycompany.local" (15)
          ip: 192.168.1.1 (16)
        state: "present"
    infra:
      - hostGroup: "infra"
        networkSpec:   (14)
          hostname: "infra.mycompany.local"  (15)
          ip: 192.168.1.2 (16)
        state: "present"
    worker:
      - hostGroup: "worker"
        networkSpec:  (14)
          hostname: "worker.mycompany.local" (15)
          ip: 192.168.1.3  (16)
        state: "present"
  clusterConfiguration:
    dnsBaseDomain: "nova.mycompany.local"
    extraOptions:
      ingressTLSConfig:
        internalCA: {}
1 spec.customerID (тип данных: string) - идентификатор клиента, полученный из лицензионной информации.
2 spec.licenseKey (тип данных: string) - лицензионный ключ для установки кластера.
3 spec.version (тип данных: string) - версия платформы Nova Container Platform.
4 spec.infrastructureProvider (тип данных: object) - блок конфигурации [провайдера инфраструктуры k2Cloud].
5 auth (тип данных: object) - блок с эндпоинтами K2Cloud, дефолтные эндопинты можно переопределить в объекта spec.infrastructureProvider.k2cloud.auth.serviceEndpoints, создав данный объект в spec.
6 spec.infrastructureProvider.k2cloud.templateId(тип данных: string) - образ шаблона запуска, может быть переопределен на уровне каждого узла кластера или группы узлов.
7 spec.infrastructureProvider.k2cloud.publicKeyName (тип данных: string) - SSH ключ.
8 spec.infrastructureProvider.k2cloud.hostGroup.templateId (тип данных: string) - образ шаблона запуска узла/группы узлов.
9 spec.infrastructureProvider.k2cloud.hostGroup.rootVolume.size (тип данных: string) - размер диска в ГБ.
10 spec.infrastructureProvider.k2cloud.hostGroup.rootVolume.type (тип данных: string) - тип диска: gp2, io2.
11 spec.infrastructureProvider.k2cloud.hostGroup.type (тип данных: string) - тип инстанса ВМ.
12 spec.infrastructureProvider.k2cloud.hostGroup.subnetID (тип данных: string) - подсеть инстанса. На каждую хост-группу устанавливается 1 подсеть.
13 spec.infrastructureProvider.k2cloud.hostGroup.securityGroupIDs (тип данных: list) - cписок существующих групп безопасности для интерфейсов ВМ.
14 spec.clusterNodes.<node>.networkSpec(тип данных: object) - сетевые параметры узла кластера Kubernetes.
15 spec.clusterNodes.<node>.hostname(тип данных: string) - полное имя узла (FQDN). Имя узла в кластере должно быть уникальным.
16 spec.clusterNodes.<node>.ip(тип данных: string) - ipv4 адрес узла. Указывается вручную; при отсутствии — назначается автоматически через DHCP.

4.3. Манифест для установки в закрытом сетевом окружении через Nova Universe

В данной инструкции в качестве примера используется доменное имя (FQDN) Nova Universe: universe.mycompany.local. Данное имя необходимо заменить на действительное доменное имя вашего сервера.

Для работы сервера управления Nova Universe необходимо создать следующие DNS-записи:

Компонент Пример записи Описание

Сервер управления Nova Universe

universe.mycompany.local

DNS-запись типа A разрешает адрес сервера управления.

Службы Nova Universe

hub.universe.mycompany.local
repo.universe.mycompany.local
sun.universe.mycompany.local
uploads.universe.mycompany.local

DNS-запись типа A или CNAME разрешает адрес сервера управления при запросе его поддоменов.

dnsBaseDomain для Nova Universe не должен совпадать с dnsBaseDomain для Nova Container Platform. Если имена будут одинаковыми, сервисы Universe станут не доступны из Nova Container Platform.

Например, если DNS имя для Nova Universe установлено как universe.mycompany.local, то dnsBaseDomain для Nova Container Platform должен быть задан как nova.mycompany.local.

При установке платформы в закрытом сетевом окружении вы можете использовать как автоматизированный метод установки (IPI), так и универсальный метод (UPI).
Далее представлена часть манифеста, которая содержит только блоки отличные от манифестов для IPI / UPI установки.

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha6"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  coreServer: "sun.universe.mycompany.local" (1)
  customerID: "Данные_предоставленные_вашим_аккаунт_менеджером" (2)
  version: "v6.3.0" (3)
  bootstrap:
    deploymentType: "offline" (4)
    hubRegistryURL: "hub.universe.mycompany.local/nova-universe" (1)
    hubToken: "1234567890" (1)
    hubUsername: "deploy-user" (1)
    repoToken: "1234567890" (1)
    repoURL: "https://hub.universe.mycompany.local/nova-universe/container-platform-base.git" (1)
    rpmRepoURL: "https://repo.universe.mycompany.local" (1)
 ...
  clusterConfiguration:
    dnsBaseDomain: "nova.mycompany.local"
    extraOptions:
      ingressTLSConfig:
        internalCA: {}
1 Информация из Nova Universe на странице Current configuration
2 Идентификатор клиента, полученный из лицензионной информации.
3 Версия платформы Nova Container Platform.
4 Тип установки. offline - используется для закрытого сетевого окружения.

5. Запуск процесса установки

  1. Запустите процесс установки кластера с помощью команды:

    nova-ctl bootstrap --ssh-user <имя_пользователя> --ssh-key <закрытый ключ SSH>

    Пример

    $ nova-ctl bootstrap --ssh-user nova-installer --ssh-key id_rsa.pem
    The bootstrap procedure implies the initial installation of the platform. All existing configuration will be deleted. Are you sure you want to continue? (yes/no) [no] yes

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

В процессе установки проверяются доступные ресурсы.
Если количество ЦП, ОЗУ, дискового пространства меньше минимального порога (у разных конфигураций кластера — разные минимальные пороги), то появится предупреждение с указанием на каких нодах ресурсов меньше, чем минимальный порог:

7/15: Validating nodes resources...
Some nodes do not meet recommended requirements on resources:
  * 192.3.101.91: 8GB RAM required, got 7GB
  * 192.3.101.93: 128GB disk required, got 64GB
  * 192.3.101.93: 16GB RAM required, got 15GB

Would you like to continue? (yes/no) [no]

Требования к вычислительным ресурсам указаны в статье.

Если по какой-то причине bootstrap завершился неудачно, то для удаления виртуальных машин перейдите в директорию zvirt_terraform и из нее запустите terraform destroy. Тогда все ресурсы удалятся и у вас появится возможность повторно запустить bootstrap.

6. Ожидание завершения процесса установки

Вы можете наблюдать за процессом установки Nova Container Platform в консоли:

$ nova-ctl bootstrap --ssh-user nova-installer --ssh-key id_rsa.pem
The bootstrap procedure implies the initial installation of the platform. All existing configuration will be deleted. Are you sure you want to continue? (yes/no) [no] yes

 ■ Validating cluster nodes... done
 ■ Validating license... done
 ■ Setting up secrets store... done
 ■ Setting up PKI... done
 ■ Setting up authentication... done
 ■ Preparing cluster nodes... done
 ■ Deploying Kubernetes cluster... done
 ■ Deploying platform applications... done


🚀 Welcome to the Nova container platform!

Your working directory contains the following installation assets:
 • Kubernetes client configuration: kubeadmin.conf
 • OAuth admin credentials: oauth-credentials.txt
 • Secrets store tokens: secrets-store-tokens.txt
 • Internal CA bundle: nova-root-ca.pem

Read the official Nova Container Platform documentation to discover features, expand and customize your cluster.

https://docs.nova-platform.io

Команда завершится успешно, когда все компоненты Nova Container Platform будут установлены и доступны.

Для метода установки IPI.

В случае если команда завершается ошибкой, то необходимо в папке монтирования контейнера nova-ctl удалить папку "…​_terraform", а так же удалить созданные виртуальные машины с подами Nova.

Для метода установки UPI.

В случае если команда завершается ошибкой, то запустите повторно команду установки

После успешного завершения установки кластера nova-ctl сохраняет в рабочей директории файлы с информацией, необходимой для доступа к кластеру и его компонентам:

Описание

kubeadmin.conf

Конфигурационный файл с учетной записью администратора кластера для утилиты kubectl, необходимой для работы с Kubernetes. Учетная запись имеет роль cluster-admin в Kubernetes.

oauth-credentials.txt

Учетная запись администратора кластера для авторизации по протоколу OAuth.

secrets-store-tokens.txt

Токены для доступа к системе управления секретами StarVault.

nova-root-ca.pem

Корневой TLS-сертификат Kubernetes. Данным сертификатом подписаны все последующие подчиненные центры сертификации.

Не забудьте сохранить учетные данные в надежном месте и удалить их с локальной машины.

7. Дополнительные модули

Вы можете установить дополнительные модули. Ознакомиться с их назначениями можете по ссылкам:

Рекомендуется к выполнению