Microsoft.ContainerService managedClusters2019-08-01

Remarks

Сведения о доступных надстройках см. в разделе "Надстройки", "Расширения" и другие интеграции с службой Azure Kubernetes.

Определение ресурсов Bicep

Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий Bicep в шаблон.

resource symbolicname 'Microsoft.ContainerService/managedClusters@2019-08-01' = {
  identity: {
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      clientAppID: 'string'
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        enableAutoScaling: bool
        enableNodePublicIP: bool
        maxCount: int
        maxPods: int
        minCount: int
        name: 'string'
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osType: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        type: 'string'
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      enablePrivateCluster: bool
    }
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      loadBalancerProfile: {
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        managedOutboundIPs: {
          count: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    nodeResourceGroup: 'string'
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Значения свойств

Microsoft.ContainerService/managedClusters

Name Description Value
identity Удостоверение управляемого кластера, если оно настроено. ManagedClusterIdentity
location Расположение ресурса строка (обязательно)
name имя ресурса. string

Constraints:
Минимальная длина = 1
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно)
properties Свойства управляемого кластера. ManagedClusterProperties
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

ContainerServiceLinuxProfile

Name Description Value
adminUsername Имя администратора, используемое для виртуальных машин Linux. string

Constraints:
Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно)
ssh Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. ContainerServiceSshConfiguration (обязательно)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. string

Constraints:
Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Профиль подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU подсистемы балансировки нагрузки для управляемого кластера. 'basic'
'standard'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
podCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. ContainerServiceSshPublicKey[] (обязательно)

ContainerServiceSshPublicKey

Name Description Value
keyData Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. строка (обязательно)

ManagedClusterAADProfile

Name Description Value
clientAppID Идентификатор приложения AAD клиента. строка (обязательно)
serverAppID Идентификатор приложения AAD сервера. строка (обязательно)
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

Name Description Value
config Пары "ключ-значение" для настройки надстройки. ManagedClusterAddonProfileConfig
enabled Включена ли надстройка. bool (обязательно)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

Constraints:
Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно)
nodeTaints Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. string[]
orchestratorVersion Версия оркестратора, указанная при создании управляемого кластера. string
osDiskSizeGB Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. int

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
scaleSetEvictionPolicy ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Low'
'Regular'
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
vmSize Размер виртуальных машин агента. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID указывает идентификатор подсети виртуальной сети. string

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Авторизованные диапазоны IP-адресов для сервера API Kubernetes. string[]
enablePrivateCluster Создание кластера в качестве частного кластера или нет. bool

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'

ManagedClusterLoadBalancerProfile

Name Description Value
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Требуемое количество исходящих IP-адресов, созданных и управляемых Azure для подсистемы балансировки нагрузки кластера. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Список ресурсов префикса общедоступного IP-адреса. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Список ресурсов общедоступного IP-адреса. ResourceReference[]

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Профиль доступа для сервера API управляемого кластера. ManagedClusterAPIServerAccessProfile
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Идентификатор субъекта-службы. строка (обязательно)
secret Секретный пароль, связанный с субъектом-службой в виде обычного текста. string

ManagedClusterWindowsProfile

Name Description Value
adminPassword Указывает пароль учетной записи администратора.

минимальная длина: 8 символов

максимальная длина: 123 символов

требования к сложности : необходимо выполнить 3 из 4 условий ниже.
Имеет нижние символы
Имеет верхние символы
Имеет цифру
Имеет специальный символ (regex match [\W_])

Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!"
string
adminUsername Указывает имя учетной записи администратора.

ограничение : не удается завершить ".

Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

Минимальная длина: 1 символ

максимальная длина: 20 символов
строка (обязательно)

ResourceReference

Name Description Value
id Полный идентификатор ресурса Azure. string

ResourceTags

Name Description Value

Примеры использования

Примеры Bicep

Простой пример развертывания управляемого кластера Kubernetes (также известного как AKS / Служба Azure Kubernetes).

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource managedCluster 'Microsoft.ContainerService/managedClusters@2023-04-02-preview' = {
  name: resourceName
  location: location
  properties: {
    agentPoolProfiles: [
      {
        count: 1
        mode: 'System'
        name: 'default'
        vmSize: 'Standard_DS2_v2'
      }
    ]
    dnsPrefix: resourceName
  }
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Module Description
Управляемый кластер Службы Azure Kubernetes (AKS) Модуль ресурсов AVM для управляемого кластера Службы Azure Kubernetes (AKS)

Примеры быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.

Файл Bicep Description
кластер AKS с шлюзом NAT и шлюзом приложений В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений.
кластер AKS с контроллером входящего трафика шлюза приложений В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
Служба контейнеров Azure (AKS) Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью узлов контейнеров Azure Linux
Служба контейнеров Azure (AKS) Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS)
Служба контейнеров Azure (AKS) с Helm Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью Helm
Служба Azure Kubernetes (AKS) Развернуть управляемый кластер с Azure Kubernetes Service (AKS) с использованием Azure Linux с OS Guard
Служба Azure Kubernetes (AKS) Развертывает управляемый кластер Kubernetes с помощью службы Azure Kubernetes (AKS)
сквозной настройке машинного обучения Azure В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS.
сквозной настройке машинного обучения Azure (устаревшая версия) В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS.
создание частного кластера AKS В этом примере показано, как создать частный кластер AKS в виртуальной сети вместе с виртуальной машиной jumpbox.
Создание AKS с prometheus и Grafana с помощью ссылки privae Вы создадите azure grafana, AKS и установите Prometheus, набор средств мониторинга и оповещений с открытым кодом в кластере Службы Azure Kubernetes (AKS). Затем вы используете управляемую частную конечную точку Azure Grafana для подключения к этому серверу Prometheus и отображения данных Prometheus на панели мониторинга Grafana

Определение ресурса шаблона ARM

Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий код JSON в шаблон.

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2019-08-01",
  "name": "string",
  "identity": {
    "type": "string"
  },
  "location": "string",
  "properties": {
    "aadProfile": {
      "clientAppID": "string",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "enableAutoScaling": "bool",
        "enableNodePublicIP": "bool",
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "name": "string",
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osType": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "type": "string",
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "enablePrivateCluster": "bool"
    },
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "loadBalancerProfile": {
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "managedOutboundIPs": {
          "count": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "nodeResourceGroup": "string",
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Значения свойств

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion Версия API '2019-08-01'
identity Удостоверение управляемого кластера, если оно настроено. ManagedClusterIdentity
location Расположение ресурса строка (обязательно)
name имя ресурса. string

Constraints:
Минимальная длина = 1
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно)
properties Свойства управляемого кластера. ManagedClusterProperties
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
type Тип ресурса 'Microsoft.ContainerService/managedClusters'

ContainerServiceLinuxProfile

Name Description Value
adminUsername Имя администратора, используемое для виртуальных машин Linux. string

Constraints:
Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно)
ssh Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. ContainerServiceSshConfiguration (обязательно)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. string

Constraints:
Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Профиль подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU подсистемы балансировки нагрузки для управляемого кластера. 'basic'
'standard'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
podCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. ContainerServiceSshPublicKey[] (обязательно)

ContainerServiceSshPublicKey

Name Description Value
keyData Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. строка (обязательно)

ManagedClusterAADProfile

Name Description Value
clientAppID Идентификатор приложения AAD клиента. строка (обязательно)
serverAppID Идентификатор приложения AAD сервера. строка (обязательно)
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

Name Description Value
config Пары "ключ-значение" для настройки надстройки. ManagedClusterAddonProfileConfig
enabled Включена ли надстройка. bool (обязательно)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

Constraints:
Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно)
nodeTaints Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. string[]
orchestratorVersion Версия оркестратора, указанная при создании управляемого кластера. string
osDiskSizeGB Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. int

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
scaleSetEvictionPolicy ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Low'
'Regular'
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
vmSize Размер виртуальных машин агента. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID указывает идентификатор подсети виртуальной сети. string

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Авторизованные диапазоны IP-адресов для сервера API Kubernetes. string[]
enablePrivateCluster Создание кластера в качестве частного кластера или нет. bool

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'

ManagedClusterLoadBalancerProfile

Name Description Value
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Требуемое количество исходящих IP-адресов, созданных и управляемых Azure для подсистемы балансировки нагрузки кластера. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Список ресурсов префикса общедоступного IP-адреса. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Список ресурсов общедоступного IP-адреса. ResourceReference[]

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Профиль доступа для сервера API управляемого кластера. ManagedClusterAPIServerAccessProfile
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Идентификатор субъекта-службы. строка (обязательно)
secret Секретный пароль, связанный с субъектом-службой в виде обычного текста. string

ManagedClusterWindowsProfile

Name Description Value
adminPassword Указывает пароль учетной записи администратора.

минимальная длина: 8 символов

максимальная длина: 123 символов

требования к сложности : необходимо выполнить 3 из 4 условий ниже.
Имеет нижние символы
Имеет верхние символы
Имеет цифру
Имеет специальный символ (regex match [\W_])

Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!"
string
adminUsername Указывает имя учетной записи администратора.

ограничение : не удается завершить ".

Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

Минимальная длина: 1 символ

максимальная длина: 20 символов
строка (обязательно)

ResourceReference

Name Description Value
id Полный идентификатор ресурса Azure. string

ResourceTags

Name Description Value

Примеры использования

Шаблоны быстрого запуска Azure

Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.

Template Description
кластер AKS с шлюзом NAT и шлюзом приложений

Развертывание в Azure
В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений.
кластер AKS с контроллером входящего трафика шлюза приложений

Развертывание в Azure
В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault
Служба контейнеров Azure (AKS)

Развертывание в Azure
Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью узлов контейнеров Azure Linux
Служба контейнеров Azure (AKS)

Развертывание в Azure
Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS)
Служба контейнеров Azure (AKS) с Helm

Развертывание в Azure
Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью Helm
Служба Azure Kubernetes (AKS)

Развертывание в Azure
Развернуть управляемый кластер с Azure Kubernetes Service (AKS) с использованием Azure Linux с OS Guard
Служба Azure Kubernetes (AKS)

Развертывание в Azure
Развертывает управляемый кластер Kubernetes с помощью службы Azure Kubernetes (AKS)
сквозной настройке машинного обучения Azure

Развертывание в Azure
В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS.
сквозной настройке машинного обучения Azure (устаревшая версия)

Развертывание в Azure
В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS.
CI/CD с помощью Jenkins в службе контейнеров Azure (AKS)

Развертывание в Azure
Контейнеры упрощают непрерывное создание и развертывание приложений. Оркестрируя развертывание этих контейнеров с помощью Kubernetes в службе контейнеров Azure, вы можете добиться реплицируемых управляемых кластеров контейнеров. Настроив непрерывную сборку для создания образов контейнеров и оркестрации, вы можете повысить скорость и надежность развертывания.
создание частного кластера AKS

Развертывание в Azure
В этом примере показано, как создать частный кластер AKS в виртуальной сети вместе с виртуальной машиной jumpbox.
создание частного кластера AKS с общедоступной зоны DNS

Развертывание в Azure
В этом примере показано, как развернуть частный кластер AKS с общедоступной зоной DNS.
Создание AKS с prometheus и Grafana с помощью ссылки privae

Развертывание в Azure
Вы создадите azure grafana, AKS и установите Prometheus, набор средств мониторинга и оповещений с открытым кодом в кластере Службы Azure Kubernetes (AKS). Затем вы используете управляемую частную конечную точку Azure Grafana для подключения к этому серверу Prometheus и отображения данных Prometheus на панели мониторинга Grafana
Развертывание управляемого кластера Kubernetes (AKS)

Развертывание в Azure
Этот шаблон ARM демонстрирует развертывание экземпляра AKS с расширенными сетевыми функциями в существующей виртуальной сети. Кроме того, выбранный субъект-служба назначает роль участника сети в подсети, содержащей кластер AKS.
Развертывание управляемого кластера Kubernetes с помощью AAD (AKS)

Развертывание в Azure
Этот шаблон ARM демонстрирует развертывание экземпляра AKS с расширенными сетевыми функциями в существующей виртуальной сети и целочислении Azure AD. Кроме того, выбранный субъект-служба назначает роль участника сети в подсети, содержащей кластер AKS.
Развертывание кластера AKS для Машинного обучения Azure

Развертывание в Azure
Этот шаблон позволяет развернуть кластер AKS, совместимый с entreprise, который можно подключить к Azure ML.
min.io Шлюз Azure

Развертывание в Azure
Полное частное min.io развертывание шлюза Azure для предоставления API хранилища, соответствующего S3, поддерживаемого хранилищем BLOB-объектов

Определение ресурса Terraform (поставщик AzAPI)

Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:

  • Группы ресурсов

Список измененных свойств в каждой версии API см. в журнала изменений.

Формат ресурса

Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий объект Terraform в шаблон.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2019-08-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      aadProfile = {
        clientAppID = "string"
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          enableAutoScaling = bool
          enableNodePublicIP = bool
          maxCount = int
          maxPods = int
          minCount = int
          name = "string"
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osType = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          type = "string"
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        enablePrivateCluster = bool
      }
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        loadBalancerProfile = {
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          managedOutboundIPs = {
            count = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      nodeResourceGroup = "string"
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
      }
    }
  }
}

Значения свойств

Microsoft.ContainerService/managedClusters

Name Description Value
identity Удостоверение управляемого кластера, если оно настроено. ManagedClusterIdentity
location Расположение ресурса строка (обязательно)
name имя ресурса. string

Constraints:
Минимальная длина = 1
Максимальная длина = 63
Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно)
properties Свойства управляемого кластера. ManagedClusterProperties
tags Теги ресурсов Словарь имен и значений тегов.
type Тип ресурса "Microsoft.ContainerService/managedClusters@2019-08-01"

ContainerServiceLinuxProfile

Name Description Value
adminUsername Имя администратора, используемое для виртуальных машин Linux. string

Constraints:
Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно)
ssh Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. ContainerServiceSshConfiguration (обязательно)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. string

Constraints:
Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Профиль подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU подсистемы балансировки нагрузки для управляемого кластера. 'basic'
'standard'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
podCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. string

Constraints:
Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. ContainerServiceSshPublicKey[] (обязательно)

ContainerServiceSshPublicKey

Name Description Value
keyData Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. строка (обязательно)

ManagedClusterAADProfile

Name Description Value
clientAppID Идентификатор приложения AAD клиента. строка (обязательно)
serverAppID Идентификатор приложения AAD сервера. строка (обязательно)
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

Name Description Value
config Пары "ключ-значение" для настройки надстройки. ManagedClusterAddonProfileConfig
enabled Включена ли надстройка. bool (обязательно)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

Constraints:
Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно)
nodeTaints Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. string[]
orchestratorVersion Версия оркестратора, указанная при создании управляемого кластера. string
osDiskSizeGB Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. int

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
scaleSetEvictionPolicy ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Low'
'Regular'
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
vmSize Размер виртуальных машин агента. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID указывает идентификатор подсети виртуальной сети. string

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Авторизованные диапазоны IP-адресов для сервера API Kubernetes. string[]
enablePrivateCluster Создание кластера в качестве частного кластера или нет. bool

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'

ManagedClusterLoadBalancerProfile

Name Description Value
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Требуемое количество исходящих IP-адресов, созданных и управляемых Azure для подсистемы балансировки нагрузки кластера. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Список ресурсов префикса общедоступного IP-адреса. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Список ресурсов общедоступного IP-адреса. ResourceReference[]

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Профиль доступа для сервера API управляемого кластера. ManagedClusterAPIServerAccessProfile
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Идентификатор субъекта-службы. строка (обязательно)
secret Секретный пароль, связанный с субъектом-службой в виде обычного текста. string

ManagedClusterWindowsProfile

Name Description Value
adminPassword Указывает пароль учетной записи администратора.

минимальная длина: 8 символов

максимальная длина: 123 символов

требования к сложности : необходимо выполнить 3 из 4 условий ниже.
Имеет нижние символы
Имеет верхние символы
Имеет цифру
Имеет специальный символ (regex match [\W_])

Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!"
string
adminUsername Указывает имя учетной записи администратора.

ограничение : не удается завершить ".

Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".

Минимальная длина: 1 символ

максимальная длина: 20 символов
строка (обязательно)

ResourceReference

Name Description Value
id Полный идентификатор ресурса Azure. string

ResourceTags

Name Description Value

Примеры использования

Примеры Terraform

Простой пример развертывания управляемого кластера Kubernetes (также известного как AKS / Служба Azure Kubernetes).

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type                      = "Microsoft.Resources/resourceGroups@2020-06-01"
  name                      = var.resource_name
  location                  = var.location
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "managedCluster" {
  type      = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      agentPoolProfiles = [
        {
          count  = 1
          mode   = "System"
          name   = "default"
          vmSize = "Standard_DS2_v2"
        },
      ]
      dnsPrefix = var.resource_name
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Проверенные модули Azure

Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.

Module Description
Управляемый кластер AKS Ресурсный модуль AVM для управляемого кластера AKS