Microsoft.ContainerService managedClusters2018-03-31

Remarks

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

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

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

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

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

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2018-03-31' = {
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      clientAppID: 'string'
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        count: int
        maxPods: int
        name: 'string'
        osDiskSizeGB: int
        osType: 'string'
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    dnsPrefix: 'string'
    enableRBAC: bool
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

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

Microsoft.ContainerService/managedClusters

Name Description Value
location Расположение ресурса строка (обязательно)
name имя ресурса. строка (обязательно)
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]))?$
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. '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
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
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

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. В настоящее время может существовать только один пул агентов. ManagedClusterAgentPoolProfile[]
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Идентификатор субъекта-службы. строка (обязательно)
secret Секретный пароль, связанный с субъектом-службой в виде обычного текста. 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": "2018-03-31",
  "name": "string",
  "location": "string",
  "properties": {
    "aadProfile": {
      "clientAppID": "string",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "count": "int",
        "maxPods": "int",
        "name": "string",
        "osDiskSizeGB": "int",
        "osType": "string",
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "dnsPrefix": "string",
    "enableRBAC": "bool",
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion Версия API '2018-03-31'
location Расположение ресурса строка (обязательно)
name имя ресурса. строка (обязательно)
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]))?$
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. '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
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
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

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. В настоящее время может существовать только один пул агентов. ManagedClusterAgentPoolProfile[]
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Идентификатор субъекта-службы. строка (обязательно)
secret Секретный пароль, связанный с субъектом-службой в виде обычного текста. 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@2018-03-31"
  name = "string"
  parent_id = "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 = [
        {
          count = int
          maxPods = int
          name = "string"
          osDiskSizeGB = int
          osType = "string"
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      dnsPrefix = "string"
      enableRBAC = bool
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
    }
  }
}

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

Microsoft.ContainerService/managedClusters

Name Description Value
location Расположение ресурса строка (обязательно)
name имя ресурса. строка (обязательно)
properties Свойства управляемого кластера. ManagedClusterProperties
tags Теги ресурсов Словарь имен и значений тегов.
type Тип ресурса "Microsoft.ContainerService/managedClusters@2018-03-31"

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]))?$
networkPlugin Подключаемый модуль сети, используемый для создания сети Kubernetes. 'azure'
'kubenet'
networkPolicy Политика сети, используемая для создания сети Kubernetes. '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
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. int

Constraints:
Минимальное значение = 1
Максимальное значение = 100
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

Constraints:
Минимальное значение = 0
Максимальное значение = 1023
osType OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. 'Linux'
'Windows'
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

ManagedClusterProperties

Name Description Value
aadProfile Профиль конфигурации Azure Active Directory. ManagedClusterAADProfile
addonProfiles Профиль надстройки управляемого кластера. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Свойства пула агентов. В настоящее время может существовать только один пул агентов. ManagedClusterAgentPoolProfile[]
dnsPrefix Префикс DNS, указанный при создании управляемого кластера. string
enableRBAC Следует ли включить kubernetes Role-Based управление доступом. bool
kubernetesVersion Версия Kubernetes, указанная при создании управляемого кластера. string
linuxProfile Профиль виртуальных машин Linux в кластере службы контейнеров. ContainerServiceLinuxProfile
networkProfile Профиль конфигурации сети. ContainerServiceNetworkProfile
servicePrincipalProfile Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. ManagedClusterServicePrincipalProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterServicePrincipalProfile

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