Установка в среде виртуализации zVirt
Вы можете установить кластер Nova Container Platform в среде виртуализации zVirt.
Сценарий установки позволяет в автоматизированном режиме развернуть виртуальные машины (узлы) из подготовленных шаблонов виртуальных машин в среде виртуализации zVirt
и получить возможность упрощенного масштабирования узлов кластера Nova Container Platform
.
В документации вы найдете все необходимые шаги, чтобы корректно выполнить подготовку вашей инфраструктуры и узлов к установке Nova Container Platform
.
Предварительные условия
- Вы ознакомились с подробностями о процессах установки и обновления Nova Container Platform.
- Вы ознакомились с документацией по выбору способа установки кластера.
- Вы ознакомились с требованиями к установке Nova Container Platform.
- Вы подготовили необходимые инструменты для работы согласно разделу Подготовка к установке платформы Nova Container Platform.
- Среда виртуализации zVirt развернута и готова к эксплуатации. Список поддерживаемых версий.
- Вы подготовили шаблоны виртуальных машин в среде виртуализации zVirt согласно разделу Подготовка шаблонов виртуальных машин.
Примечание
В предоставленной инструкции в качестве примера используется доменное имя (FQDN) менеджера управления виртуализацией zVirt - zvirt.nova.internal
. Данное имя необходимо заменить на действительное доменное имя вашего менеджера управления.
Получение корневого сертификата zVirt
Процедура
-
Скачайте корневой сертификат zVirt с главной страницы веб-интерфейса менеджера управления zVirt c помощью браузера или следующей команды:
-
Закодируйте в
base64
полученный сертификат:Внимание
Закодированный сертификат необходимо указать в файле конфигурации установки
nova-deployment-conf.yaml
для параметра tlsCaBundle. -
Перейдите в веб-интерфейс менеджера управления zVirt и снимите ограничение на количество сессий на время установки кластера:
- Нажмите Управление - Пользователи и выберите пользователя, который будет использоваться для подключения к zVirt в процессе установки кластера
Nova Container Platform
. - Выберите меню Управление ограничениями.
- В меню Управление ограничениями установите для параметра Количество сессий значение равное 0.
- Нажмите Управление - Пользователи и выберите пользователя, который будет использоваться для подключения к zVirt в процессе установки кластера
Получение шаблона файла конфигурации установки
Вы можете получить шаблон файла конфигурации с помощью nova-ctl
. Для этого выполните команду:
Пример
$ nova-ctl init
Please, select the type of infrastructure provider:
[ 0] None (Bare metal)
[ 1] zVirt
> 1
Cluster configuration file is stored in nova-deployment-conf.yaml
Внимание
При запросе шаблона файла конфигурации требуется выбрать тип поставщика инфраструктуры. В зависимости от выбранного типа шаблон файла будет оптимизирован для удобства заполнения конфигурации.
Для установки Nova Container Platform в пользовательской инфраструктуре выберите тип поставщика инфраструктуры zVirt.
В результате выполнения команды вы получите в рабочей директории шаблон файла конфигурации nova-deployment-conf.yaml
.
Пример файла конфигурации установки
Вы можете кастомизировать файл конфигурации nova-deployment-conf.yaml
, если требуется указать более детальные настройки различных подсистем кластера. Подробную информацию о параметрах установки вы можете получить в разделе Спецификация параметров установки.
Пример файла установки
apiVersion: "config.nova-platform.io/v1alpha1"
kind: "Infrastructure"
metadata:
name: "cluster"
spec:
customerID: "5d4a2c84b6e22623" # (1)
licenseKey: "a098f0aefdc021b643c2eb76c1cad0a8" # (2)
version: "v2.1.0" # (3)
infrastructureProvider: # (4)
zvirt:
auth:
apiUrl: "https://zvirt.nova.internal/ovirt-engine/api"
username: "user@internal"
password: "password"
tlsCaBundle: "LS0k1JSURxekNDQXBPZ0F3SUJBZ0lDRUFBd0RRWUpFMVVFQmhNQ1ZWTXhFVEFQQmdOVkJBb0LS0tLQo=..."
clusterId: "63724b66-e292-11ed-a2e9-00163e3c6ec5"
templateId: "33bc2f6f-cb6f-4527-bd80-5755e9963562"
vnicProfileId: "9a58ffa8-98d8-472c-9198-5f54a9f8aaac"
csiStorageDomainName: "DataDomainName"
hostGroup:
- name: "control-plane"
cpuCores: 4
cpuSockets: 1
cpuThreads: 1
memory: "8GiB"
maximumMemory: "16GiB"
- name: "infra"
cpuCores: 6
cpuSockets: 1
cpuThreads: 1
memory: "12GiB"
maximumMemory: "24GiB"
- name: "ingress"
cpuCores: 2
cpuSockets: 1
cpuThreads: 1
memory: "4GiB"
maximumMemory: "8GiB"
- name: "worker"
cpuCores: 4
cpuSockets: 1
cpuThreads: 1
memory: "8GiB"
maximumMemory: "16GiB"
clusterNodes: # (5)
master: # (6)
- hostGroup: "control-plane"
networkSpec:
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"
infra: # (7)
- hostGroup: "infra"
networkSpec:
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: # (8)
- hostGroup: "ingress"
networkSpec:
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: # (9)
- hostGroup: "worker"
networkSpec:
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"
modules: # (10)
base:
common:
dnsBaseDomain: "apps.cls01.nova.internal"
ingressTLSConfig:
internalCA:
enabled: true
- Идентификатор клиента, полученный из лицензионной информации.
- Лицензионный ключ для установки кластера.
- Версия ПО кластера Nova Container Platform.
- Блок конфигурации поставщика инфраструктуры zVirt.
- Блок конфигурации узлов кластера Kubernetes.
- Список мастер-узлов кластера Nova Container Platform. Для каждого узла должны быть заполнены параметры в соответствии со спецификацией.
- Список инфраструктурных узлов кластера Nova Container Platform. Для каждого узла должны быть заполнены параметры в соответствии со спецификацией.
- Список Ingress-узлов кластера Nova Container Platform. Для каждого узла должны быть заполнены параметры в соответствии со спецификацией.
- Список рабочих узлов кластера Nova Container Platform. Для каждого узла должны быть заполнены параметры в соответствии со спецификацией.
- Блок конфигурации базовых и дополнительных модулей платформы.
Установка кластера в минимальной конфигурации
Для установки кластера в минимальной конфигурации вам необходимо подготовить не менее трех узлов:
- 1 мастер-узел кластера
- 1 инфраструктурный узел кластера
- 1 рабочий узла кластера
Данная конфигурация позволяет создавать небольшие, ресурсоэффективные кластеры для администраторов и разработчиков в средах тестирования, разработки и производства.
При этом, кластер Nova Container Platform в минимальной конфигурации имеет тот же набор компонентов, что и в высокодоступной конфигурации, но число реплик компонентов снижено.
Добавьте необходимые узлы кластера в соответствующие списки файла конфигурации nova-deployment-conf.yaml
- master
, infra
, worker
, например:
clusterNodes:
master:
- hostGroup: "control-plane"
networkSpec:
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"
infra:
- hostGroup: "infra"
networkSpec:
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"
worker:
- hostGroup: "worker"
networkSpec:
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"
Информация
При установке кластера в минимальной конфигурации роль узлов балансировки входящего трафика (Ingress) выполняют рабочие узлы. Это необходимо учесть при настройке внешних балансировщиков, а также при создании DNS-записей.
Установка кластера в высокодоступной конфигурации
Для установки кластера в высокодоступной конфигурации вам необходимо подготовить большее количество узлов:
- 3 мастер-узла кластера
- 3 инфраструктурных узла кластера
- 2 и более рабочих узла кластера
- 2 и более узла балансировки входящих запросов
Таким образом, будет выполнено логическое разделение ролей узлов и размещаемых на них компонентов кластера. При этом, устанавливаемые компоненты будут иметь большее число реплик для повышения доступности служебных сервисов кластера.
Добавьте необходимые узлы кластера в соответствующие списки файла конфигурации nova-deployment-conf.yaml
- master
, infra
, worker
, ingress
, например:
clusterNodes:
master:
- hostGroup: "control-plane"
networkSpec:
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"
- hostGroup: "control-plane"
networkSpec:
ip: "10.251.11.112"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
- hostGroup: "control-plane"
networkSpec:
ip: "10.251.11.113"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
infra:
- hostGroup: "infra"
networkSpec:
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"
- hostGroup: "infra"
networkSpec:
ip: "10.251.11.115"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
- hostGroup: "infra"
networkSpec:
ip: "10.251.11.116"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
ingress:
- hostGroup: "ingress"
networkSpec:
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"
- hostGroup: "ingress"
networkSpec:
ip: "10.251.11.118"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
worker:
- hostGroup: "heavy-worker"
networkSpec:
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"
- hostGroup: "heavy-worker"
networkSpec:
ip: "10.251.11.120"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
- hostGroup: "heavy-worker"
networkSpec:
ip: "10.251.11.121"
gateway: "10.251.11.254"
netmask: "255.255.255.0"
dns:
- "10.251.1.2"
- "10.250.0.254"
state: "present"
Запуск процесса установки
Необходимые условия
- У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите установки. Ключ будет использоваться для SSH аутентификации на узлах кластера в случае отладки или восстановления после аварийных ситуаций.
- Вы подготовили шаблоны виртуальных машин и среды виртуализации для установки кластера.
- Вы заполнили шаблон файла конфигурации установки
nova-deployment-conf.yaml
.
Процедура
-
Запустите процесс установки кластера с помощью команды:
Внимание
Процедура
bootstrap
подразумевает первоначальную установку платформы Nova Container Platform на предоставляемые в конфигурации узлы. Вся существующая конфигурация Nova Container Platform на узлах будет удалена. Вам необходимо согласиться с этим предупреждением, если вы уверены в том, что список узлов кластера указан верно. -
В процессе установки будет запрошено подтверждение на создание виртуальных машин и сетевых интерфейсов в среде виртуализации zVirt.
☕️ 1/11: Preparing infrastructure... The following actions will be preformed: + create ovirt_vm node-worker-a0bxwbud + create ovirt_vm node-master-49c7zd7d + create ovirt_vm node-worker-caci8rpr + create ovirt_vm node-worker-lzxopr2k + create ovirt_vm node-worker-o1nfatzh + create ovirt_vm node-master-p6u849f5 + create ovirt_vm node-worker-hgztrrxx + create ovirt_vm node-worker-wklaoi0y + create ovirt_nic node-master-49c7zd7d + create ovirt_nic node-worker-lzxopr2k + create ovirt_nic node-worker-a0bxwbud + create ovirt_vm node-master-oxeh3yso + create ovirt_vm node-worker-py0x4krd + create ovirt_vm node-worker-q4gep5b3 + create ovirt_nic node-worker-o1nfatzh + create ovirt_nic node-worker-hgztrrxx + create ovirt_nic node-worker-q4gep5b3 + create ovirt_vm_start node-master-49c7zd7d + create ovirt_nic node-master-p6u849f5 + create ovirt_vm_start node-worker-lzxopr2k + create ovirt_vm_start node-worker-o1nfatzh + create ovirt_nic node-worker-caci8rpr + create ovirt_nic node-master-oxeh3yso + create ovirt_nic node-worker-py0x4krd + create ovirt_vm_start node-worker-a0bxwbud + create ovirt_nic node-worker-wklaoi0y + create ovirt_vm_start node-master-p6u849f5 + create ovirt_vm_start node-worker-hgztrrxx + create ovirt_vm_start node-worker-q4gep5b3 + create ovirt_vm_start node-master-oxeh3yso + create ovirt_vm_start node-worker-wklaoi0y + create ovirt_vm_start node-worker-caci8rpr + create ovirt_vm_start node-worker-py0x4krd Are you sure you want to apply these changes? (yes/no) [yes]
Ожидание процесса установки
Вы можете наблюдать за процессом установки Nova Container Platform в консоли:
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
■ Preparing infrastructure... done
■ 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 будут установлены и доступны.
После успешного завершения установки кластера утилита nova-ctl
сохраняет в рабочей директории файлы с конфиденциональной информацией, необходимой для доступа к кластеру и его компонентам:
Файл | Описание |
---|---|
kubeadmin.conf |
Конфигурационный файл с учетной записью администратора кластера для утилиты kubectl , необходимой для работы с Kubernetes. Учетная запись имеет роль cluster-admin в Kubernetes. |
oauth-credentials.txt |
Учетная запись администратора кластера для авторизации по протоколу OAuth. |
secrets-store-tokens.txt |
Токены для доступа к системе управления секретами Secrets Manager. |
nova-root-ca.pem |
Корневой TLS-сертификат Kubernetes. Данным сертификатом подписаны все последующие подчиненные центры сертификации. |
Внимание
Не забудьте сохранить учетные данные в надежном месте и удалить их с локальной машины.
Проверка подключения к кластеру
Необходимые условия
- Кластер Nova Сontainer Platform успешно установлен.
- Вы установили утилиту
kubectl
для работы с Kubernetes.
Процедура
-
Определите в консоли переменную
KUBECONFIG
, содержащую путь к полученному после установки файлуkubeadmin.conf
: -
Проверьте, что вы можете выполнять команды
kubectl
:Пример
-
Проверьте список узлов кластера:
Пример
$ kubectl get nodes node-master-49c7zd7d.nova-dvibha82dnwr.local Ready control-plane 27h v1.26.4-65+537aad6db9b078 node-master-oxeh3yso.nova-dvibha82dnwr.local Ready control-plane 27h v1.26.4-65+537aad6db9b078 node-master-p6u849f5.nova-dvibha82dnwr.local Ready control-plane 27h v1.26.4-65+537aad6db9b078 node-worker-a0bxwbud.nova-dvibha82dnwr.local Ready infra 27h v1.26.4-65+537aad6db9b078 node-worker-caci8rpr.nova-dvibha82dnwr.local Ready worker 27h v1.26.4-65+537aad6db9b078 node-worker-hgztrrxx.nova-dvibha82dnwr.local Ready ingress 27h v1.26.4-65+537aad6db9b078 node-worker-lzxopr2k.nova-dvibha82dnwr.local Ready infra 27h v1.26.4-65+537aad6db9b078 node-worker-o1nfatzh.nova-dvibha82dnwr.local Ready infra 27h v1.26.4-65+537aad6db9b078 node-worker-py0x4krd.nova-dvibha82dnwr.local Ready worker 27h v1.26.4-65+537aad6db9b078 node-worker-q4gep5b3.nova-dvibha82dnwr.local Ready worker 27h v1.26.4-65+537aad6db9b078 node-worker-wklaoi0y.nova-dvibha82dnwr.local Ready ingress 27h v1.26.4-65+537aad6db9b078