AzureClusterConfiguration
Version: deckhouse.io/v1
Описывает конфигурацию облачного кластера в Azure.
Используется cloud-провайдером, если control plane кластера размещен в облаке.
Выполните следующую команду, чтобы изменить конфигурацию в работающем кластере:
1kubectl -n d8-system exec -ti svc/deckhouse-leader -c deckhouse -- deckhouse-controller edit provider-cluster-configuration
Пример:
1apiVersion: deckhouse.io/v1
2kind: AzureClusterConfiguration
3layout: Standard
4sshPublicKey: "<SSH_PUBLIC_KEY>"
5vNetCIDR: 10.0.0.0/16
6subnetCIDR: 10.0.0.0/24
7masterNodeGroup:
8 replicas: 1
9 instanceClass:
10 machineSize: Standard_D4ds_v4
11 urn: Canonical:UbuntuServer:18.04-LTS:18.04.202207120
12 enableExternalIP: false
13provider:
14 subscriptionId: "<SUBSCRIPTION_ID>"
15 location: westeurope
16 clientId: "<CLIENT_ID>"
17 clientSecret: "<CLIENT_SECRET>"
18 tenantId: "<TENANT_ID>"
- строка
Обязательный параметр
Название схемы размещения.
Подробнее о возможных схемах размещения провайдера.
Допустимые значения:
Standard
Обязательный параметр
Спецификация для описания NodeGroup master-узлов.
Внимание! После изменения параметров секции
masterNodeGroup
необходимо выполнить командуdhctl converge
, чтобы изменения вступили в силу.- объект
Список дополнительных тегов в формате
key: value
, которые будут назначены инстансам.Пример:
1project: cms-production 2severity: critical
- строка
Тип создаваемых дисков (root-диска и диска для etcd).
Список доступных типов дисков можно посмотреть с помощью Azure CLI:
1az vm list-skus -l westeurope --zone
Пример:
1diskType: StandardSSD_LRS
- строка
Обязательный параметр
Тип заказываемых инстансов.
Узнать все доступные типы в регионе можно с помощью Azure CLI:
1az vm list-sizes --location westeurope -o table
Пример:
1machineSize: Standard_F4
- строка
Обязательный параметр
Образ виртуальной машины, который будет использоваться для инстанса.
Подробнее про образы виртуальных машин можно посмотреть в официальной документации.
Получить urn образа c помощью Azure CLI (столбец №4):
1az vm image list --location westeurope --publisher Canonical --all --sku 20_04-lts -o table 2az vm image list --location westeurope --publisher OpenLogic --all --sku 7.5 -o table
По умолчанию используется образ из
AzureCloudDiscoveryData
(образ, из которого был создан мастер-узел при развертывании кластера).Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).
- массив строк
Список зон, в которых допустимо создавать master-узлы.
Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:
1az vm list-skus -l westeurope -o table
По умолчанию:
[1,2,3]
- массив объектов
Массив дополнительных NodeGroup для создания статических узлов (например, для выделенных frontend-узлов или шлюзов).
- объект
Список дополнительных тегов в формате
key: value
, которые будут назначены инстансам.Пример:
1project: cms-production 2severity: critical
- строка
Тип создаваемых дисков (root-диска и диска для etcd).
Список доступных типов дисков можно посмотреть с помощью Azure CLI:
1az vm list-skus -l westeurope --zone
Пример:
1diskType: StandardSSD_LRS
- строка
Обязательный параметр
Тип заказываемых инстансов.
Узнать все доступные типы в регионе можно с помощью Azure CLI:
1az vm list-sizes --location westeurope -o table
Пример:
1machineSize: Standard_F4
- строка
Обязательный параметр
Образ виртуальной машины, который будет использоваться для инстанса.
Подробнее про образы виртуальных машин можно посмотреть в официальной документации.
Получить urn образа c помощью Azure CLI (столбец №4):
1az vm image list --location westeurope --publisher Canonical --all --sku 20_04-lts -o table 2az vm image list --location westeurope --publisher OpenLogic --all --sku 7.5 -o table
По умолчанию используется образ из
AzureCloudDiscoveryData
(образ, из которого был создан мастер-узел при развертывании кластера).Список поддерживаемых Deckhouse ОС и их версий можно найти в документации (учитывайте используемую версию Deckhouse).
Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узлов.
- объект
Аналогично стандартному полю
metadata.annotations
.Пример:
1annotations: 2 ai.fleet.com/discombobulate: "true"
- объект
Список лейблов, которые будут прикреплены ко всем ресурсам кластера (если они это поддерживают).
Аналогично стандартному полю
metadata.labels
.Если поменять лейблы в рабочем кластере, после применения изменений необходимо пересоздать все машины.
Пример:
1labels: 2 environment: production 3 app: warp-drive-ai
- массив объектов
Аналогично полю
.spec.taints
из объекта Node.Внимание! Доступны только поля
effect
,key
,values
.Пример:
1taints: 2- effect: NoExecute 3 key: ship-class 4 value: frigate
- массив строк
Список зон, в которых допустимо создавать узлы.
Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:
1az vm list-skus -l westeurope -o table
По умолчанию:
[1,2,3]
- массив объектов
Массив VNet, с которыми будет объединена сеть кластера.
Service account должен иметь доступ ко всем перечисленным VNet. Если доступа нет, пиринговое соединение необходимо настраивать вручную.
- строка
Обязательный параметр
Секрет (secret) клиента.
Помните о сроке действия секрета. По умолчанию он действителен один год. Чтобы создать service account с большим сроком действия секрета обратитесь к официальной документации.
- строка
Обязательный параметр
Имя географического региона, в котором будут созданы все ресурсы. Получение списка доступных локаций через Azure CLI:
1az 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]))$
Пример:
1subnetCIDR: 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]))$
Пример:
1vNetCIDR: 10.0.0.0/16