AzureClusterConfiguration

Version: deckhouse.io/v1

  • apiVersion (строка)

    Допустимые значения: deckhouse.io/v1, deckhouse.io/v1alpha1

    Обязательный параметр.

  • kind (строка)

    Допустимые значения: AzureClusterConfiguration

    Обязательный параметр.

  • layout (строка)

    Название схемы размещения.

    Подробнее… о возможных схемах размещения провайдера.

    Допустимые значения: Standard

    Обязательный параметр.

  • masterNodeGroup

    Спецификация для описания NodeGroup master-узлов.

    Обязательный параметр.

    • instanceClass (объект)

      Частичное содержимое полей AzureInstanceClass.

      Обязательный параметр.

      • additionalTags (объект)

        Список дополнительных тегов в формате key: value, которые будут назначены инстансам.

        Пример:

        project: cms-production
        severity: critical
        
      • diskSizeGb (целочисленный)

        Размер root-диска. Значение указывается в гигабайтах.

        Пример: 40

      • diskType (строка)

        Тип созданного диска.

        Список доступных типов дисков, можно посмотреть с помощью Azure CLI:

        az vm list-skus -l westeurope --zone`
        

        Пример: "StandardSSD_LRS"

      • enableExternalIP (булевый)

        Доступен только для layout Standard.

        • false — узлы не имеют публичных адресов, доступ в интернет осуществляется через NAT.
        • true — для узлов создаются статические публичные адреса.

        По умолчанию: false

        Допустимые значения: true, false

      • machineSize (строка)

        Тип заказываемых инстансов.

        Список всех доступных типов в регионе, можно посмотреть с помощью Azure CLI:

        az vm list-sizes --location westeurope -o table
        

        Пример: "Standard_F4"

        Обязательный параметр.

      • urn (строка)

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

        Подробнее про образы виртуальных машин можно посмотреть в официальной документации.

        Последнюю доступную версию образа можно получить c помощью Azure CLI:

        • az vm image show --urn Canonical:UbuntuServer:18.04-LTS:latest --location westeurope
        • az vm image show --urn Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest --location westeurope

        По умолчанию: образ из AzureCloudDiscoveryData (образ из которого был создан мастер при развертывании кластера).

        Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Centos 7.

        Обязательный параметр.

    • replicas (целочисленный)

      Сколько мастер-узлов создать.

      Допустимые значения: 1 <= X

      Обязательный параметр.

    • zones (массив строк)

      Список зон, в которых допустимо создавать master-узлы.

      Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:

      az vm list-skus -l westeurope -o table
      

      По умолчанию: [1,2,3]

  • nodeGroups (массив объектов)

    Массив дополнительных NodeGroup для создания статичных узлов (например, для выделенных frontend-узлов или шлюзов).

    • instanceClass (объект)

      Частичное содержимое полей AzureInstanceClass.

      Обязательный параметр.

      • additionalTags (объект)

        Список дополнительных тегов в формате key: value, которые будут назначены инстансам.

        Пример:

        project: cms-production
        severity: critical
        
      • diskSizeGb (целочисленный)

        Размер root-диска. Значение указывается в гигабайтах.

        Пример: 40

      • diskType (строка)

        Тип созданного диска.

        Список доступных типов дисков, можно посмотреть с помощью Azure CLI:

        az vm list-skus -l westeurope --zone`
        

        Пример: "StandardSSD_LRS"

      • enableExternalIP (булевый)

        Доступен только для layout Standard.

        • false — узлы не имеют публичных адресов, доступ в интернет осуществляется через NAT.
        • true — для узлов создаются статические публичные адреса.

        По умолчанию: false

        Допустимые значения: true, false

      • machineSize (строка)

        Тип заказываемых инстансов.

        Список всех доступных типов в регионе, можно посмотреть с помощью Azure CLI:

        az vm list-sizes --location westeurope -o table
        

        Пример: "Standard_F4"

        Обязательный параметр.

      • urn (строка)

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

        Подробнее про образы виртуальных машин можно посмотреть в официальной документации.

        Последнюю доступную версию образа можно получить c помощью Azure CLI:

        • az vm image show --urn Canonical:UbuntuServer:18.04-LTS:latest --location westeurope
        • az vm image show --urn Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest --location westeurope

        По умолчанию: образ из AzureCloudDiscoveryData (образ из которого был создан мастер при развертывании кластера).

        Внимание! Сейчас поддерживается и тестируется только Ubuntu 18.04, Ubuntu 20.04, Centos 7.

        Обязательный параметр.

    • name (строка)

      Имя NodeGroup, будет использоваться для генерации имен узлов.

      Обязательный параметр.

    • nodeTemplate

      Настройки Node-объектов в Kubernetes, которые будут добавлены после регистрации узлов.

      • annotations (объект)

        Аналогично стандартному полю metadata.annotations.

        Пример:

        annotations:
          ai.fleet.com/discombobulate: "true"
        
      • labels (объект)

        Список лейблов, которые будут прикреплены ко всем ресурсам кластера (которые это поддерживают).

        Аналогично стандартному полю metadata.labels.

        Если поменять теги в рабочем кластере, то после конвержа необходимо пересоздать все машины, чтобы теги применились.

        Формат — key: value.

        Пример:

        labels:
          environment: production
          app: warp-drive-ai
        
      • taints (массив объектов)

        Аналогично полю .spec.taints из объекта Node.

        Внимание! Доступны только поля effect, key, values.

        Пример:

        taints:
        - effect: NoExecute
          key: ship-class
          value: frigate
        
        • effect (строка)

          Допустимые значения: NoSchedule, PreferNoSchedule, NoExecute

        • key (строка)
        • value (строка)
    • replicas (целочисленный)

      Количество узлов.

      Обязательный параметр.

    • zones (массив строк)

      Список зон, в которых допустимо создавать узлы.

      Доступные зоны для выбранного типа инстанса можно посмотреть с помощью Azure CLI:

      az vm list-skus -l westeurope -o table
      

      По умолчанию: [1,2,3]

  • peeredVNets (массив объектов)

    Массив VNet's, с которыми будет объединена сеть кластера.

    Сервис-аккаунт должен иметь доступ ко всем перечисленным VNet. Если доступа нет, то пиринг необходимо настраивать вручную.

    • resourceGroupName (строка)

      Имя группы ресурсов, в которой находится VNet.

      Обязательный параметр.

    • vnetName (строка)

      Имя VNet.

      Обязательный параметр.

  • provider (объект)

    Параметры подключения к API Azure.

    Обязательный параметр.

    • clientId (строка)

      Идентификатор клиента.

      Обязательный параметр.

    • clientSecret (строка)

      Секрет клиента.

      Обязательный параметр.

    • location (строка)

      Имя региона, в котором будут созданы все ресурсы.

      Обязательный параметр.

    • subscriptionId (строка)

      Идентификатор подписки.

      Обязательный параметр.

    • tenantId (строка)

      Идентификатор тенанта.

      Обязательный параметр.

  • sshPublicKey (строка)

    Публичный ключ для доступа на узлы под пользователем azureuser.

    Обязательный параметр.

  • standard (объект)

    Настройки для схемы размещения Standard.

    • natGatewayPublicIpCount (целочисленный)

      Количество IP-адресов для NAT Gateway (тарификация). NAT Gateway не используется если установлено 0.

      По умолчанию: 0

  • subnetCIDR (строка)

    Подсеть из адресного пространства 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]))$

    Пример: "10.1.2.0/24"

    Обязательный параметр.

  • tags (объект)

    Словарь тегов, которые будут созданы на всех ресурсах, имеющих такую возможность.

    Если поменять теги в рабочем кластере, то после конвержа необходимо пересоздать все машины, чтобы теги применились.

  • vNetCIDR (строка)

    Адресное пространство виртуальной сети в формате CIDR.

    Шаблон: ^(([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]))$

    Пример: "10.0.0.0/16"

    Обязательный параметр.

  • zones (массив строк)

    Глобальное ограничение набора зон, с которыми работает данный cloud-provider.