Microsoft.ContainerService managedClusters2020-09-01

Remarks

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

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

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

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

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

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-09-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      enableAzureRBAC: bool
      managed: bool
      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
        mode: 'string'
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osType: 'string'
        proximityPlacementGroupID: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: int
        tags: {
          {customized property}: 'string'
        }
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      enablePrivateCluster: bool
    }
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      expander: 'string'
      max-empty-bulk-delete: 'string'
      max-graceful-termination-sec: 'string'
      max-total-unready-percentage: 'string'
      new-pod-scale-up-delay: 'string'
      ok-total-unready-count: 'string'
      scale-down-delay-after-add: 'string'
      scale-down-delay-after-delete: 'string'
      scale-down-delay-after-failure: 'string'
      scale-down-unneeded-time: 'string'
      scale-down-unready-time: 'string'
      scale-down-utilization-threshold: 'string'
      scan-interval: 'string'
      skip-nodes-with-local-storage: 'string'
      skip-nodes-with-system-pods: 'string'
    }
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    nodeResourceGroup: 'string'
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      licenseType: 'string'
    }
  }
  sku: {
    name: 'string'
    tier: '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
sku Номер SKU управляемого кластера. ManagedClusterSKU
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

AgentPoolUpgradeSettings

Name Description Value
maxSurge Количество или процент дополнительных узлов, добавляемых во время обновления. Если пустое использует AKS по умолчанию string

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'
networkMode Сетевой режим, используемый для создания сети Kubernetes. 'bridge'
'transparent'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
outboundType Метод маршрутизации исходящего трафика (исходящего трафика). 'loadBalancer'
'userDefinedRouting'
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
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
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. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osDiskType Тип диска ОС, используемый для компьютеров в заданном пуле агентов. Допустимые значения: "Эфемеральные" и "Управляемые". Значение по умолчанию — Managed. Может не быть изменено после создания. 'Ephemeral'
'Managed'
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
proximityPlacementGroupID Идентификатор группы размещения близкого взаимодействия. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy, используемый для указания политики вытеснения для масштабируемого набора точечных виртуальных машин. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice, который будет использоваться для указания максимальной цены, которую вы готовы платить в долларах США. Возможные значения — это любое десятичное значение больше нуля или -1, указывающее, что цена по умолчанию up-to по запросу. int
tags Теги пула агентов, сохраняемые в масштабируемом наборе виртуальных машин пула агентов. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Параметры обновления агентаpool AgentPoolUpgradeSettings
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Удостоверение пользователя, связанное с управляемым кластером. Это удостоверение будет использоваться в плоскости управления, и разрешено только одно назначенное пользователем удостоверение. Ссылки на ключ словаря удостоверений пользователя будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterIdentityUserAssignedIdentitiesValue

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Требуемое количество выделенных портов SNAT для каждой виртуальной машины. Допустимые значения должны находиться в диапазоне от 0 до 64000 (включительно). Значение по умолчанию — 0, которое приводит к динамическому выделению портов Azure. int

Constraints:
Минимальное значение = 0
Максимальное значение = 64000
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
idleTimeoutInMinutes Требуемое время ожидания ожидания исходящего потока в минутах. Допустимые значения должны находиться в диапазоне от 4 до 120 (включительно). Значение по умолчанию составляет 30 минут. int

Constraints:
Минимальное значение = 4
Максимальное значение = 120
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
autoScalerProfile Параметры для применения к кластеру автомасштабирования при включении ManagedClusterPropertiesAutoScalerProfile
diskEncryptionSetID ResourceId набора шифрования дисков, который используется для включения шифрования неактивных данных. string
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
identityProfile Удостоверения, связанные с кластером. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'random'
max-empty-bulk-delete string
max-graceful-termination-sec string
max-total-unready-percentage string
new-pod-scale-up-delay string
ok-total-unready-count string
scale-down-delay-after-add string
scale-down-delay-after-delete string
scale-down-delay-after-failure string
scale-down-unneeded-time string
scale-down-unready-time string
scale-down-utilization-threshold string
scan-interval string
skip-nodes-with-local-storage string
skip-nodes-with-system-pods string

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

Name Description Value
clientId Идентификатор клиента назначаемого пользователем удостоверения. string
objectId Идентификатор объекта назначаемого пользователем удостоверения. string
resourceId Идентификатор ресурса назначенного пользователем удостоверения. string

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

Name Description Value
name Имя SKU управляемого кластера. 'Basic'
tier Уровень SKU управляемого кластера. 'Free'
'Paid'

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 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

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": "2020-09-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "enableAzureRBAC": "bool",
      "managed": "bool",
      "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",
        "mode": "string",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osType": "string",
        "proximityPlacementGroupID": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "int",
        "tags": {
          "{customized property}": "string"
        },
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "enablePrivateCluster": "bool"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "nodeResourceGroup": "string",
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "licenseType": "string"
    }
  },
  "sku": {
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion Версия API '2020-09-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
sku Номер SKU управляемого кластера. ManagedClusterSKU
tags Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
type Тип ресурса 'Microsoft.ContainerService/managedClusters'

AgentPoolUpgradeSettings

Name Description Value
maxSurge Количество или процент дополнительных узлов, добавляемых во время обновления. Если пустое использует AKS по умолчанию string

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'
networkMode Сетевой режим, используемый для создания сети Kubernetes. 'bridge'
'transparent'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
outboundType Метод маршрутизации исходящего трафика (исходящего трафика). 'loadBalancer'
'userDefinedRouting'
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
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
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. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osDiskType Тип диска ОС, используемый для компьютеров в заданном пуле агентов. Допустимые значения: "Эфемеральные" и "Управляемые". Значение по умолчанию — Managed. Может не быть изменено после создания. 'Ephemeral'
'Managed'
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
proximityPlacementGroupID Идентификатор группы размещения близкого взаимодействия. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy, используемый для указания политики вытеснения для масштабируемого набора точечных виртуальных машин. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice, который будет использоваться для указания максимальной цены, которую вы готовы платить в долларах США. Возможные значения — это любое десятичное значение больше нуля или -1, указывающее, что цена по умолчанию up-to по запросу. int
tags Теги пула агентов, сохраняемые в масштабируемом наборе виртуальных машин пула агентов. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Параметры обновления агентаpool AgentPoolUpgradeSettings
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Удостоверение пользователя, связанное с управляемым кластером. Это удостоверение будет использоваться в плоскости управления, и разрешено только одно назначенное пользователем удостоверение. Ссылки на ключ словаря удостоверений пользователя будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterIdentityUserAssignedIdentitiesValue

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Требуемое количество выделенных портов SNAT для каждой виртуальной машины. Допустимые значения должны находиться в диапазоне от 0 до 64000 (включительно). Значение по умолчанию — 0, которое приводит к динамическому выделению портов Azure. int

Constraints:
Минимальное значение = 0
Максимальное значение = 64000
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
idleTimeoutInMinutes Требуемое время ожидания ожидания исходящего потока в минутах. Допустимые значения должны находиться в диапазоне от 4 до 120 (включительно). Значение по умолчанию составляет 30 минут. int

Constraints:
Минимальное значение = 4
Максимальное значение = 120
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
autoScalerProfile Параметры для применения к кластеру автомасштабирования при включении ManagedClusterPropertiesAutoScalerProfile
diskEncryptionSetID ResourceId набора шифрования дисков, который используется для включения шифрования неактивных данных. string
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
identityProfile Удостоверения, связанные с кластером. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'random'
max-empty-bulk-delete string
max-graceful-termination-sec string
max-total-unready-percentage string
new-pod-scale-up-delay string
ok-total-unready-count string
scale-down-delay-after-add string
scale-down-delay-after-delete string
scale-down-delay-after-failure string
scale-down-unneeded-time string
scale-down-unready-time string
scale-down-utilization-threshold string
scan-interval string
skip-nodes-with-local-storage string
skip-nodes-with-system-pods string

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

Name Description Value
clientId Идентификатор клиента назначаемого пользователем удостоверения. string
objectId Идентификатор объекта назначаемого пользователем удостоверения. string
resourceId Идентификатор ресурса назначенного пользователем удостоверения. string

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

Name Description Value
name Имя SKU управляемого кластера. 'Basic'
tier Уровень SKU управляемого кластера. 'Free'
'Paid'

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 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

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@2020-09-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      aadProfile = {
        adminGroupObjectIDs = [
          "string"
        ]
        clientAppID = "string"
        enableAzureRBAC = bool
        managed = bool
        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
          mode = "string"
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osType = "string"
          proximityPlacementGroupID = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = int
          tags = {
            {customized property} = "string"
          }
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        enablePrivateCluster = bool
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      nodeResourceGroup = "string"
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        licenseType = "string"
      }
    }
    sku = {
      name = "string"
      tier = "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
sku Номер SKU управляемого кластера. ManagedClusterSKU
tags Теги ресурсов Словарь имен и значений тегов.
type Тип ресурса "Microsoft.ContainerService/managedClusters@2020-09-01"

AgentPoolUpgradeSettings

Name Description Value
maxSurge Количество или процент дополнительных узлов, добавляемых во время обновления. Если пустое использует AKS по умолчанию string

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'
networkMode Сетевой режим, используемый для создания сети Kubernetes. 'bridge'
'transparent'
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. 'azure'
'calico'
outboundType Метод маршрутизации исходящего трафика (исходящего трафика). 'loadBalancer'
'userDefinedRouting'
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
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
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. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osDiskType Тип диска ОС, используемый для компьютеров в заданном пуле агентов. Допустимые значения: "Эфемеральные" и "Управляемые". Значение по умолчанию — Managed. Может не быть изменено после создания. 'Ephemeral'
'Managed'
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
proximityPlacementGroupID Идентификатор группы размещения близкого взаимодействия. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy, используемый для указания политики вытеснения для масштабируемого набора точечных виртуальных машин. По умолчанию используется значение Delete. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice, который будет использоваться для указания максимальной цены, которую вы готовы платить в долларах США. Возможные значения — это любое десятичное значение больше нуля или -1, указывающее, что цена по умолчанию up-to по запросу. int
tags Теги пула агентов, сохраняемые в масштабируемом наборе виртуальных машин пула агентов. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType представляет типы пула агентов 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Параметры обновления агентаpool AgentPoolUpgradeSettings
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterIdentity

Name Description Value
type Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Удостоверение пользователя, связанное с управляемым кластером. Это удостоверение будет использоваться в плоскости управления, и разрешено только одно назначенное пользователем удостоверение. Ссылки на ключ словаря удостоверений пользователя будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}". ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterIdentityUserAssignedIdentitiesValue

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Требуемое количество выделенных портов SNAT для каждой виртуальной машины. Допустимые значения должны находиться в диапазоне от 0 до 64000 (включительно). Значение по умолчанию — 0, которое приводит к динамическому выделению портов Azure. int

Constraints:
Минимальное значение = 0
Максимальное значение = 64000
effectiveOutboundIPs Действующие исходящие IP-ресурсы подсистемы балансировки нагрузки кластера. ResourceReference[]
idleTimeoutInMinutes Требуемое время ожидания ожидания исходящего потока в минутах. Допустимые значения должны находиться в диапазоне от 4 до 120 (включительно). Значение по умолчанию составляет 30 минут. int

Constraints:
Минимальное значение = 4
Максимальное значение = 120
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
autoScalerProfile Параметры для применения к кластеру автомасштабирования при включении ManagedClusterPropertiesAutoScalerProfile
diskEncryptionSetID ResourceId набора шифрования дисков, который используется для включения шифрования неактивных данных. string
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enablePodSecurityPolicy (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. bool
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
identityProfile Удостоверения, связанные с кластером. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
nodeResourceGroup Имя группы ресурсов, содержащей узлы пула агентов. string
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Профиль виртуальных машин Windows в кластере службы контейнеров. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'random'
max-empty-bulk-delete string
max-graceful-termination-sec string
max-total-unready-percentage string
new-pod-scale-up-delay string
ok-total-unready-count string
scale-down-delay-after-add string
scale-down-delay-after-delete string
scale-down-delay-after-failure string
scale-down-unneeded-time string
scale-down-unready-time string
scale-down-utilization-threshold string
scan-interval string
skip-nodes-with-local-storage string
skip-nodes-with-system-pods string

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

Name Description Value
clientId Идентификатор клиента назначаемого пользователем удостоверения. string
objectId Идентификатор объекта назначаемого пользователем удостоверения. string
resourceId Идентификатор ресурса назначенного пользователем удостоверения. string

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

Name Description Value
name Имя SKU управляемого кластера. 'Basic'
tier Уровень SKU управляемого кластера. 'Free'
'Paid'

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 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

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