Экспериментальная версия. Функциональность может сильно измениться. Совместимость с будущими версиями не гарантируется.
Если control plane кластера размещен на виртуальных машинах или bare-metal-серверах, cloud-провайдер использует настройки модуля
cloud-provider-vcd
в конфигурации Deckhouse. Иначе, если control plane кластера размещен в облаке, cloud-провайдер использует структуру VCDClusterConfiguration для настройки.
VCDClusterConfiguration
Version: deckhouse.io/v1
Описывает конфигурацию облачного кластера в VCD.
Используется облачным провайдером, если управляющий слой (control plane) кластера размещен в облаке.
Выполните следующую команду, чтобы изменить конфигурацию в запущенном кластере:
kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit provider-cluster-configuration
После изменения параметров узлов необходимо выполнить команду dhctl converge, чтобы изменения вступили в силу.
Пример:
apiVersion: deckhouse.io/v1
kind: VCDClusterConfiguration
sshPublicKey: "<SSH_PUBLIC_KEY>"
organization: My_Org
virtualDataCenter: My_Org
virtualApplicationName: Cloud
mainNetwork: internal
layout: Standard
internalNetworkCIDR: 172.16.2.0/24
masterNodeGroup:
replicas: 1
instanceClass:
template: Templates/ubuntu-focal-20.04
sizingPolicy: 4cpu8ram
rootDiskSizeGb: 20
etcdDiskSizeGb: 20
storageProfile: nvme
nodeGroups:
- name: worker
replicas: 1
instanceClass:
template: Org/Templates/ubuntu-focal-20.04
sizingPolicy: 16cpu32ram
storageProfile: ssd
provider:
server: "<SERVER>"
username: "<USERNAME>"
password: "<PASSWORD>"
insecure: true
- строка
Адресация для внутренней сети узлов кластера.
Адреса распределяются начиная с десятого адреса. Например, если у вас подсеть
192.168.199.0/24
, адреса будут распределяться, начиная с192.168.199.10
.Шаблон:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
- строка
Обязательный параметр
Способ размещения ресурсов в облаке.
Подробнее о возможных вариантах размещения.
- объект
Обязательный параметр
Спецификация для описания NodeGroup master-узлов.
Чтобы изменения вступили в силу, после изменения параметров секции
masterNodeGroup
выполните командуdhctl converge
.- массив строк
Список статических IP-адресов (с префиксом CIDR), последовательно распределенных по узлам в
mainNetwork
.По умолчанию DHCP-клиент включен.
Пример:
mainNetworkIPAddresses: - 10.1.14.20 - 10.1.4.21
- строка
Обязательный параметр
Путь к шаблону OVA, который будет использоваться.
Состоит из организации (опционально), каталога и названия или идентификатора шаблона. В случае общих каталогов шаблонов, наименование организации может не совпадать со значением в параметре
provider.organization
.Если в нескольких каталогах с одинаковым названием есть шаблоны с одинаковым именем, следует указать идентификатор шаблона.
Идентификатор шаблона можно найти в URL-адресе при открытии шаблона в пользовательском интерфейсе vCD. Например, если URL-адрес
https://vcd.example.com/tenant/MyOrg/libraries/catalogs/1032506a-4555-43e1-8589-77b0c0522c75/catalog-vapp-templates/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7/general
, то идентификатор шаблона будет5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
.Примеры:
template: Linux/ubuntu2204-cloud-ova
template: MyOrg/Linux/ubuntu2204-cloud-ova
template: Linux/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
template: MyOrg/Linux/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
- массив объектов
Массив дополнительных NodeGroup для создания статических узлов (например, для выделенных frontend-узлов или шлюзов).
- массив строк
Список статических IP-адресов (с префиксом CIDR), последовательно распределенных по узлам в
mainNetwork
.По умолчанию DHCP-клиент включен.
Пример:
mainNetworkIPAddresses: - 10.1.14.20 - 10.1.4.21
- строка
Обязательный параметр
Путь к шаблону OVA, который будет использоваться.
Состоит из организации (опционально), каталога и названия или идентификатора шаблона. В случае общих каталогов шаблонов, наименование организации может не совпадать со значением в параметре
provider.organization
.Если в нескольких каталогах с одинаковым названием есть шаблоны с одинаковым именем, следует указать идентификатор шаблона.
Идентификатор шаблона можно найти в URL-адресе при открытии шаблона в пользовательском интерфейсе vCD. Например, если URL-адрес
https://vcd.example.com/tenant/MyOrg/libraries/catalogs/1032506a-4555-43e1-8589-77b0c0522c75/catalog-vapp-templates/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7/general
, то идентификатор шаблона будет5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
.Примеры:
template: Linux/ubuntu2204-cloud-ova
template: MyOrg/Linux/ubuntu2204-cloud-ova
template: Linux/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
template: MyOrg/Linux/5438c9f2-7e59-4eb3-b37c-cbd7f3e710c7
Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узлов.
- объект
Аналогично стандартному полю
metadata.annotations
.Пример:
annotations: ai.fleet.com/discombobulate: 'true'
- объект
Список лейблов, которые будут прикреплены ко всем ресурсам кластера (если они это поддерживают).
Аналогично стандартному полю
metadata.labels
.Пример:
labels: environment: production app: warp-drive-ai
- массив объектов
Аналогично полю
.spec.taints
из объекта Node.Доступны только поля
effect
,key
,values
.Пример:
taints: - effect: NoExecute key: ship-class value: frigate