AzureClusterConfiguration
Version: deckhouse.io/v1
Описывает конфигурацию облачного кластера в Azure.
Используется облачным провайдером, если управляющий слой (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: AzureClusterConfiguration
layout: Standard
sshPublicKey: "<SSH_PUBLIC_KEY>"
vNetCIDR: 10.0.0.0/16
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
subnetCIDR: 10.0.0.0/24
masterNodeGroup:
replicas: 1
instanceClass:
machineSize: Standard_D4ds_v4
urn: Canonical:UbuntuServer:18.04-LTS:18.04.202207120
enableExternalIP: false
provider:
subscriptionId: "<SUBSCRIPTION_ID>"
location: westeurope
clientId: "<CLIENT_ID>"
clientSecret: "<CLIENT_SECRET>"
tenantId: "<TENANT_ID>"
- строка
Обязательный параметр
Название схемы размещения.
Подробнее о возможных схемах размещения провайдера.
Допустимые значения:
Standard
Обязательный параметр
Спецификация для описания NodeGroup master-узлов.
Чтобы изменения вступили в силу, после изменения параметров секции
masterNodeGroup
выполните командуdhctl converge
.- объект
Список дополнительных тегов в формате
key: value
, которые будут назначены инстансам.Пример:
project: cms-production severity: critical
- строка
Тип создаваемых дисков (root-диска и диска для etcd).
Список доступных типов дисков можно посмотреть с помощью Azure CLI:
az vm list-skus -l westeurope --zone
Пример:
diskType: StandardSSD_LRS
- строка
Обязательный параметр
Тип заказываемых инстансов.
Узнать все доступные типы в регионе можно с помощью Azure CLI:
az vm list-sizes --location westeurope -o table
Пример:
machineSize: Standard_F4
- строка
Обязательный параметр
Образ виртуальной машины, который будет использоваться для инстанса.
Подробнее про образы виртуальных машин можно прочитать в официальной документации.
Получить
urn
образа c помощью Azure CLI (столбец №4):az vm image list --location westeurope --publisher Canonical --all --sku 20_04-lts -o table az vm image list --location westeurope --publisher OpenLogic --all --sku 7.5 -o table
По умолчанию используется образ из
AzureCloudDiscoveryData
— образ, из которого был создан мастер-узел при развертывании кластера.Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).
- массив строк
Список зон, в которых допустимо создавать master-узлы.
Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:
az vm list-skus -l westeurope -o table
По умолчанию:
[1,2,3]
- объект
Конфигурация DNS-серверов для виртуальной сети Azure, которая используется для узлов кластера.
- массив объектов
Массив дополнительных NodeGroup для создания статических узлов (например, для выделенных frontend-узлов или шлюзов).
- объект
Список дополнительных тегов в формате
key: value
, которые будут назначены инстансам.Пример:
project: cms-production severity: critical
- строка
Тип создаваемых дисков (root-диска и диска для etcd).
Список доступных типов дисков можно посмотреть с помощью Azure CLI:
az vm list-skus -l westeurope --zone
Пример:
diskType: StandardSSD_LRS
- строка
Обязательный параметр
Тип заказываемых инстансов.
Узнать все доступные типы в регионе можно с помощью Azure CLI:
az vm list-sizes --location westeurope -o table
Пример:
machineSize: Standard_F4
- строка
Обязательный параметр
Образ виртуальной машины, который будет использоваться для инстанса.
Подробнее про образы виртуальных машин можно прочитать в официальной документации.
Получить
urn
образа c помощью Azure CLI (столбец №4):az vm image list --location westeurope --publisher Canonical --all --sku 20_04-lts -o table az vm image list --location westeurope --publisher OpenLogic --all --sku 7.5 -o table
По умолчанию используется образ из
AzureCloudDiscoveryData
— образ, из которого был создан мастер-узел при развертывании кластера.Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).
Настройки 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
- массив строк
Список зон, в которых допустимо создавать узлы.
Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:
az vm list-skus -l westeurope -o table
По умолчанию:
[1,2,3]
- массив объектов
Массив VNet, с которыми будет объединена сеть кластера.
ServiceAccount должен иметь доступ ко всем перечисленным VNet. Если доступа нет, пиринговое соединение необходимо настраивать вручную.
- строка
Обязательный параметр
Секрет (secret) клиента.
Помните о сроке действия секрета. По умолчанию он действителен один год. Чтобы создать service account с большим сроком действия секрета, обратитесь к официальной документации.
- строка
Обязательный параметр
Имя географического региона, в котором будут созданы все ресурсы. Получение списка доступных локаций через Azure CLI:
az account list-locations -o table
- массив строк
Список Service Endpoints, ассоциированных с подсетью.
Service Endpoints для виртуальной сети позволяют прямо и безопасно подключаться к сервисам Azure по оптимизированному маршруту через магистральную сеть Azure. Они позволяют ограничить пределами отдельных виртуальных сетей доступ к критически важным ресурсам сервисов Azure. Через Service Endpoints приватные IP-адреса в виртуальной сети могут подключаться к эндпоинтам сервисов Azure, не используя публичный IP-адрес в виртуальной сети.
Больше информации можно найти в официальной документации.
- целочисленный
Количество IP-адресов для NAT Gateway (тарификация).
NAT Gateway не используется, если установлено
0
.По умолчанию:
0
- строка
Обязательный параметр
Подсеть из адресного пространства
vNetCIDR
, в которой будут работать узлы кластера.Виртуальную сеть можно сегментировать на одну или несколько подсетей в пределах ограничений.
Шаблон:
^(([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]))$
Пример:
subnetCIDR: 10.1.2.0/24
- объект
Словарь тегов, которые будут созданы на всех ресурсах, имеющих такую возможность.
Если поменять теги в рабочем кластере, после применения изменений необходимо пересоздать все машины.
- строка
Обязательный параметр
Адресное пространство виртуальной сети в формате CIDR.
Виртуальная сеть — это виртуальная изолированная часть общедоступной сети Azure. Каждая виртуальная сеть выделена для вашей подписки.
Внимание. Нужно учитывать, что в случае настройки пиринга, использования VPN или связывания сетей других кластеров, адресное пространство сетей не должно пересекаться.
Шаблон:
^(([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]))$
Пример:
vNetCIDR: 10.0.0.0/16