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

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

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

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

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

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

  • Вы установили Nova Universe,

2. Аутентификация в хранилище в Nova Universe и загрузка образа nova-ctl

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

    docker login hub.universe.mycompany.local

    По умолчанию DNS-зона universe.mycompany.local

  2. В поле Username введите значение deploy-user, в поле Password введите значение hubToken, которое было получено после установки Nova Universe.

  3. Загрузите образ nova-ctl:

    Перед установкой проверьте соответствие версий Nova SE и nova-ctl с помощью таблицы.

    docker pull hub.universe.mycompany.local/nova-universe/nova/nova-ctl:v1.0.0

3. Запуск утилиты nova-ctl

  1. Выполните команду для запуска контейнера с утилитой nova-ctl:

    docker run --rm -it -v $PWD:/opt/nova hub.universe.mycompany.local/nova-universe/nova/nova-ctl:v1.0.0

    Переменная $PWD определяет текущую рабочую директорию, в которой находятся SSH ключи, подготовленные во время настройки ssh-доступа.

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

    Убедитесь, что контейнер разрешает DNS-зону universe.mycompany.local.

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

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

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

    Select the type of infrastructure provider:
    [ 0] None (Bare metal)
    [ 1] vSphere
    [ 2] zVirt
    > 0
  3. Укажите метод установки [2] Offline:

    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

В результате инициализации в директории nova-configs появится файл nova-deployment-conf.yaml: основной конфигурационный манифест платформы.

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

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

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

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

Данный метод применяется для установки в пользовательской инфраструктуре (Bare Metal).

В данной инструкции в качестве примера используется доменное имя (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 разрешает адрес сервера управления при запросе его поддоменов.

Перед началом установки заполните манифест. Пример приведен далее.

Пример манифеста
apiVersion: "config.nova-platform.io/v1alpha3"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: "i7zesg5m6565" (1)
  bootstrap:
    deploymentType: "offline"
    hubRegistryURL: "hub.universe.mycompany.local/nova-universe"
    hubToken: "1a1fbf9de725d522c80d5f332063b47f0a2d37dc" (2)
    hubUsername: "deploy-user"
    repoToken: "1a1fbf9de725d522c80d5f332063b47f0a2d37dc" (3)
    repoURL: "https://hub.universe.mycompany.local/nova-universe/container-platform-base.git"
    rpmRepoURL: "https://repo.universe.mycompany.local"
  version: "v1.0.0" (4)
  infrastructureProvider: (5)
    none: {}
  clusterNodes: (6)
    master: (7)
      - networkSpec:
          ip: "172.31.0.253"
          hostname: "master1.mycompany.local"
        state: "present" (8)
      - networkSpec:
          ip: "172.31.0.252"
          hostname: "master2.mycompany.local"
        state: "present"
      - networkSpec:
          ip: "172.31.0.9"
          hostname: "master3.mycompany.local"
        state: "present"
    worker: (9)
      - networkSpec:
          ip: "172.31.0.17"
          hostname: "worker1.mycompany.local"
        state: "present"
      - networkSpec:
          ip: "172.31.0.251"
          hostname: "worker2.mycompany.local"
        state: "present"
    infra: (10)
      - networkSpec:
          ip: "172.31.0.8"
          hostname: "infra1.mycompany.local"
        state: "present"
      - networkSpec:
          ip: "172.31.0.6"
          hostname: "infra2.mycompany.local"
        state: "present"
      - networkSpec:
          ip: "172.31.0.11"
          hostname: "infra3.mycompany.local"
        state: "present"
    ingress: (11)
      - networkSpec:
          ip: "172.31.0.10"
          hostname: "ingress1.mycompany.local"
        state: "present"
      - networkSpec:
          ip: "172.31.0.15"
          hostname: "ingress2.mycompany.local"
        state: "present"
  clusterConfiguration: (12)
    dnsBaseDomain: "nova.mycompany.local" (13)
    extraOptions:
      ingressTLSConfig:
        internalCA: {} (14)
  coreServer: "sun.universe.mycompany.local"
1 customerID (тип: string) — идентификатор клиента, полученный из лицензионной информации.
2 hubToken (тип: string) – токен деплоя, который был получен в разделе 2.2 инструкции
3 repoToken (тип: string) – токен деплоя, который был получен в разделе 2.2 инструкции
4 version (тип: string) — версия платформы Nova Container Platform Special Edition.
5 infrastructureProvider (тип: object) — блок конфигурации провайдера инфраструктуры.
6 clusterNodes (тип: object) — блок конфигурации узлов кластера Nova.
7 master (тип: object) — список мастер-узлов кластера Nova Container Platform Special Edition.
8 state (тип: string) — желаемое состояние узла в кластере Nova. Значения present не должно быть изменено при установке кластера.
9 infra (тип: object) — список инфраструктурных узлов кластера Nova Container Platform Special Edition.
10 worker (тип: object) — список рабочих узлов кластера Nova Container Platform Special Edition.
11 ingress (тип: object) — список узлов балансировки кластера Nova Container Platform Special Edition.
12 clusterConfiguration (тип: object) — блок дополнительных параметров настройки кластера.
13 dnsBaseDomain (тип: string) - параметр используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
14 internalCA (тип: object) — конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.

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

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

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

5.2.1. zVirt

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

Пример манифеста
apiVersion: config.nova-platform.io/v1alpha3
kind: Infrastructure
metadata:
  name: cluster
spec:
  customerID: swuv3xaxakbq (1)
  clusterName: nova-cluster-se
  version: "v1.0.0" (2)
  bootstrap:
    deploymentType: offline
    hubRegistryURL: hub.universe.mycompany.local/nova-universe
    hubToken: 208209ccab855ab8761943704087274c8be8a355
    hubUsername: deploy-user
    repoURL: https://hub.universe.mycompany.local/nova-universe/container-platform-base.git
    repoToken: 208209ccab855ab8761943704087274c8be8a355
    rpmRepoURL: https://repo.universe.mycompany.local
  caTrustBundle: LS0tLS1CRUdJTiB…
  coreServer: sun.universe.mycompany.local
  infrastructureProvider: (3)
    zvirt:
      auth:
        apiUrl: "https://srv-engine01.hw.dns-name/ovirt-engine/api" (4)
        username: "hw-robot@internalsso" (5)
        password: "111111"
        tlsCaBundle: "LS0tLS1CRUdJTiB… (6)
      clusterId:  "9131bfcd-ee97-4e4c-988b-ce8ff0f0791f" (7)
      templateId: "5e4b08ee-22e8-44a0-905c-c889e9c7d944" (8)
      vnicProfileId: "d3f66c1c-d90a-4335-8902-fdc94696fb53" (9)
      csiStorageDomainName: "fc_storage_01" (10)
      hostGroup:
        - name: "control-plane"
          cpuCores: 1
          cpuSockets: 4
          cpuThreads: 1
          memory: "8GiB"
          maximumMemory: "16GiB"
        - name: "infra"
          cpuCores: 1
          cpuSockets: 6
          cpuThreads: 1
          memory: "12GiB"
          maximumMemory: "16GiB"
        - name: "ingress"
          cpuCores: 1
          cpuSockets: 8
          cpuThreads: 1
          memory: "6GiB"
          maximumMemory: "16GiB"
        - name: "heavy-worker"
          cpuCores: 1
          cpuSockets: 4
          cpuThreads: 1
          memory: "8GiB"
          maximumMemory: "16GiB"
  clusterNodes: (11)
    master: (12)
      - hostGroup: "control-plane"
        networkSpec:
          hostname: "master.mycompany.local"
          ip: "172.30.5.39"
          gateway: "172.30.5.1"
          netmask: "255.255.255.0"
          dns:
            - "172.30.5.109" # DNS server that test itself deploys
            - "172.31.200.19"
            - "172.31.201.19"
        state: "present" (13)
    infra: (14)
      - hostGroup: "infra"
        networkSpec:
          hostname: "infra.mycompany.local"
          ip: "172.30.5.37"
          gateway: "172.30.5.1"
          netmask: "255.255.255.0"
          dns:
            - "172.31.200.19"
            - "172.31.201.19"
        state: "present"
    ingress: (15)
      - hostGroup: "ingress"
        networkSpec:
          hostname: "ingress.mycompany.local"
          ip: "172.30.5.38"
          gateway: "172.30.5.1"
          netmask: "255.255.255.0"
          dns:
            - "172.31.200.19"
            - "172.31.201.19"
        state: "present"
    worker: (16)
      - hostGroup: "heavy-worker"
        networkSpec:
          hostname: "worker.mycompany.local"
          ip: "172.30.5.39"
          gateway: "172.30.5.1"
          netmask: "255.255.255.0"
          dns:
            - "172.31.200.19"
            - "172.31.201.19"
        state: "present"
      ingressTLSConfig:
        internalCA: {} (17)
  clusterConfiguration: (18)
    dnsBaseDomain: nova.mycompany.local (19)
    cniProvider: "calico"
    extraOptions:
      ingressTLSConfig:
        externalCA:
          tlsConfig:
            ca: LS0tLS1CRUdJT…
            cert: LS0tLS1CRUdJTiB…
            key: LS0tLS1CRUdJTiB…
      kubePodSubnet: 10.4.0.0/16 (20)
      kubeServiceAddresses: 10.5.0.0/16 (21)
      kubeNetworkNodePrefix: 23 (22)
      k8sAPIAdditionalSANs: (23)
        - api.cluster.example
        - api.internal.example
        - 192.168.1.1
      dns: (24)
        customerDns:
          enable: true
          servers:
            - 172.30.5.109
        forwardZones:
          zones:
            - name: dnstestzone.local
              server: 172.30.5.109
            - name: someotherzone.local
              server: 172.30.5.109
            - name: universe.mycompany.local
              server: 172.30.5.109
            - name: hw.dns-name
              server: "172.31.200.19"
1 customerID (тип: string) - идентификатор лицензии, полученный из лицензионной информации.
2 version (тип: string) — версия платформы Nova Container Platform.
3 infrastructureProvider (тип: object) — блок конфигурации провайдера инфраструктуры zVirt.
4 apiUrl (тип: string) — URL-адрес API среды виртуализации zVirt.
5 username (тип: string) — учётная запись в среде виртуализации zVirt, используемая для подключения к zVirt API.
6 tlsCaBundle (тип: string) — цепочка корневых TLS-сертификатов для подключения к интерфейсу zVirt API.
7 clusterId (тип: string) — идентификатор кластера в среде виртуализации zVirt, в котором будут развернуты узлы кластера платформы Nova Container Platform SE.
Для получения идентификатора кластера в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Кластеры, затем выберите нужный кластер.
8 templateId (тип: string) — идентификатор шаблона, используемого для развертывания узлов кластера платформы Nova Container Platform.
Для получения идентификатор шаблона в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Шаблоны, затем выберите нужный шаблон.
9 vnicProfileId (тип: string) — идентификатор профиля сети в среде виртуализации zVirt.
Для получения идентификатор шаблона в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Ресурсы  Шаблоны, затем выберите нужный шаблон.
10 csiStorageDomainName (тип: string) — имя домена хранения в среде виртуализации zVirt.
Для получения имени домена хранения в среде виртуализации zVirt перейдите в веб-консоль zVirt и откройте раздел Хранилище  Домены.
11 clusterNodes (тип: object) — блок конфигурации узлов кластера Kubernetes.
12 master (тип: object) — cписок мастер-узлов кластера Nova Container Platform SE.
13 state (тип: string) — желаемое состояние узла в кластере Kubernetes. Значения present не должно быть изменено при установке кластера.
14 infra (тип: object) — Список инфраструктурных узлов кластера Nova Container Platform SE.
15 ingress (тип: object) — cписок узлов балансировки кластера Nova Container Platform SE.
16 worker (тип: object) — cписок рабочих узлов кластера Nova Container Platform SE.
17 internalCA (тип: object) - конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.
18 clusterConfiguration (тип: object) — блок дополнительных параметров настройки кластера.
19 dnsBaseDomain (тип: string) - параметр dnsBaseDomain используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
20 kubePodSubnet (тип: string) - блок IP-адресов, из которого выделяются IP-адреса для подов Kubernetes (Pod). Возможно указать только один пул IP-адресов. Этот блок не должен пересекаться с существующими физическими сетями. Данные IP-адреса используются для сети подов (Pod Network).
21 kubeServiceAddresses (тип: string)- блок IP-адресов для сервисной сети Kubernetes (Service Network). Возможно указать только один блок IP-адресов. Этот блок не должен пересекаться с существующими физическими сетями.
22 kubeNetworkNodePrefix (тип: int) - префикс сети kubePodSubnet, выделяемый каждому узлу кластера Kubernetes.
23 k8sAPIAdditionalSANs (тип: []) - список дополнительных DNS-имен и IP-адресов (Subject Alternative Name) Kubernetes API, который добавляется в поле subjectAltName TLS-сертификата.
24 dns - блок конфигурации параметров DNS.

5.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/v1alpha3"
kind: "Infrastructure"
metadata:
  name: "cluster"
spec:
  customerID: swuv3xaxakbq (1)
  clusterName: nova-cluster-se
  version: "v1.0.0" (2)
  bootstrap: (3)
    deploymentType: offline
    hubRegistryURL: hub.universe.mycompany.local/nova-universe
    hubToken: 208209ccab855ab8761943704087274c8be8a355
    hubUsername: deploy-user
    repoURL: https://hub.universe.mycompany.local/nova-universe/container-platform-base.git
    repoToken: 208209ccab855ab8761943704087274c8be8a355
    rpmRepoURL: https://repo.universe.mycompany.local
  coreServer: sun.universe.mycompany.local
  infrastructureProvider:  (4)
    vsphere: (5)
      auth:
        vcenterServer: "vcenter.mycompany.local" (6)
        vcenterServerPort: 443
        tlsCaBundle: LS0tLS1CRUdJTiBDRVJ...  (7)
        username: "user@vsphere.local" (8)
        password: "password" (9)
      datacenter: "DC_1" (10)
      cluster: "Cluster_1" (11)
      datastore: "VMs_SSD" (12)
      template: "Templates/Redos/redos-MUROM-7.3-20231122.0" (13)
      uselinkedClone: false
      vmFolder: "Nova_Dev_1"
      network: "Private-10.251.11.X" (14)
      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: (15)
    master: (16)
      - 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" (17)
    infra: (18)
      - 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"
    ingress: (19)
      - 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"
    worker: (20)
      - 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"
  clusterConfiguration: (21)
    dnsBaseDomain: "nova.mycompany.local" (22)
    extraOptions: (23)
      ingressTLSConfig:
        internalCA: {}
1 customerID (тип: string) - идентификатор клиента для установки платформы. Поставляется вместе с лицензией на платформу.
2 version (тип: string) - версия Nova Container Platform для установки.
3 bootstrap (тип: object) - блок конфигурации, описывающий метод установки, в том числе и параметры репозиториев.
4 infrastructureProvider - блок конфигурации параметров провайдера инфраструктуры для установки платформы.
5 vsphere (тип: object) - блок конфигурации провайдера инфраструктуры vSphere.
6 vsphere.auth.vcenterServer (тип: string) - полное доменное имя или IP-адрес сервера vCenter Server.
7 vsphere.auth.tlsCaBundle (тип: string) - цепочка корневых TLS-сертификатов для подключения к API-интерфейсу vCenter Server. Передается в виде строки с данными, закодированными в base64.
8 vsphere.auth.username (тип: string) - учетная запись для доступа к vCenter Server.
9 vsphere.auth.password (тип: string) - пароль учетной записи для доступа к vCenter Server.
10 vsphere.datacenter (тип: string) - имя датацентра vSphere.
11 vsphere.cluster (тип: string) - имя кластера vSphere.
12 vsphere.datastore (тип: string) - имя хранилища для ВМ по умолчанию. Может быть переопределено на уровне группы узлов, в случае если для групп узлов предполагается использовать разные хранилища.
13 vsphere.template (тип: string) - имя шаблона ВМ для развертывания виртуальных машин. Может быть переопределен на уровне группы узлов, в случае если для групп узлов предполагается использовать разные шаблоны ВМ.
14 vsphere.network(тип: string) - имя сети, в которой будут разворачиваться ВМ.
15 clusterNodes (тип: object) - блок конфигурации узлов кластера Kubernetes платформы Nova Container Platform. Используется для определения роли узла в кластере Kubernetes, имен и параметров сетевых интерфейсов узлов, настроек DNS, а также для привязки узла кластера к какой-либо определенной группе узлов.
16 clusterNodes.master (тип: object) - список мастер-узлов кластера Nova Container Platform.
17 clusterNodes.master.state(тип: string) - желаемое состояние узла в кластере Kubernetes. Значения present не должно быть изменено при установке кластера.
18 clusterNodes.infra (тип: object) - список инфраструктурных узлов кластера Nova Container Platform.
19 clusterNodes.ingress (тип: object) - cписок узлов балансировки кластера Nova Container Platform.
20 clusterNodes.worker (тип: object) - список рабочих узлов кластера Nova Container Platform.
21 clusterConfiguration (тип: object) - блок дополнительных параметров настройки кластера.
22 clusterConfiguration.dnsBaseDomain (тип: string) - параметр dnsBaseDomain используется для публикации внутренних компонентов платформы. В качестве dnsBaseDomain рекомендуется использовать поддомен в вашем корпоративном домене, выделенный специально для компонентов платформы, например, nova.company.ru. В DNS-сервере платформы будет создана wildcard-запись *.dnsBaseDomain, которая будет направлять на инфраструктурные узлы платформы. Если в домене dnsBaseDomain будут узлы, расположенные вне платформы, то разрешение имен для этих узлов будет работать некорректно.
23 clusterConfiguration.extraOptions (тип: object) - конфигурация службы PKI для выпуска и обслуживания TLS-сертификатов с использованием внутреннего самоподписанного СА.

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

  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 Special Edition на узлах будет удалена. Убедитесь, что список узлов кластера указан корректно, прежде чем согласиться с предупреждением.

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

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.

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

Вы можете наблюдать за процессом установки 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://wiki.orionsoft.ru/nova/latest

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

Для метода установки 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. Данным сертификатом подписаны все последующие подчиненные центры сертификации.

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

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

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

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