Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
- Latest
- 2026-04-02-превью
- 2026-04-01
- 2026-03-02-превью
- 2026-03-01
- 2026-02-02-превью
- 2026-02-01
- 2026-01-02-превью
- 2026-01-01
- 2025-10-02-превью
- 2025-10-01
- 2025-09-02-превью
- 2025-09-01
- 2025-08-02-превью
- 2025-08-01
- 2025-07-02-превью
- 2025-07-01
- 2025-06-02-превью
- 2025-05-02-preview
- 2025-05-01
- 2025-04-02-preview
- 2025-04-01
- 2025-03-02-preview
- 2025-03-01
- 2025-02-02-preview
- 2025-02-01
- 2025-01-02-preview
- 2025-01-01
- 2024-10-02-preview
- 2024-10-01
- 2024-09-02-preview
- 2024-09-01
- 2024-08-01
- 2024-07-02-preview
- 2024-07-01
- 2024-06-02-preview
- 2024-05-02-preview
- 2024-05-01
- 2024-04-02-preview
- 2024-03-02-preview
- 2024-02-02-preview
- 2024-02-01
- 2024-01-02-preview
- 2024-01-01
- 2023-11-02-preview
- 2023-11-01
- 2023-10-02-preview
- 2023-10-01
- 2023-09-02-preview
- 2023-09-01
- 2023-08-02-preview
- 2023-08-01
- 2023-07-02-preview
- 2023-07-01
- 2023-06-02-preview
- 2023-06-01
- 2023-05-02-preview
- 2023-05-01
- 2023-04-02-preview
- 2023-04-01
- 2023-03-02-preview
- 2023-03-01
- 2023-02-02-preview
- 2023-02-01
- 2023-01-02-preview
- 2023-01-01
- 2022-11-02-preview
- 2022-11-01
- 2022-10-02-preview
- 2022-09-02-preview
- 2022-09-01
- 2022-08-03-preview
- 2022-08-02-preview
- 2022-07-02-preview
- 2022-07-01
- 2022-06-02-preview
- 2022-06-01
- 2022-05-02-preview
- 2022-04-02-preview
- 2022-04-01
- 2022-03-02-preview
- 2022-03-01
- 2022-02-02-preview
- 2022-02-01
- 2022-01-02-preview
- 2022-01-01
- 2021-11-01-preview
- 2021-10-01
- 2021-09-01
- 2021-08-01
- 2021-07-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-12-01
- 2020-11-01
- 2020-09-01
- 2020-07-01
- 2020-06-01
- 2020-04-01
- 2020-03-01
- 2020-02-01
- 2020-01-01
- 2019-11-01
- 2019-10-01
- 2019-08-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-08-01-preview
- 2018-03-31
- 2017-08-31
Remarks
Сведения о доступных надстройках см. в разделе "Надстройки", "Расширения" и другие интеграции с службой Azure Kubernetes.
Определение ресурсов Bicep
Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий Bicep в шаблон.
resource symbolicname 'Microsoft.ContainerService/managedClusters@2019-06-01' = {
identity: {
type: 'string'
}
location: 'string'
name: 'string'
properties: {
aadProfile: {
clientAppID: 'string'
serverAppID: 'string'
serverAppSecret: 'string'
tenantID: 'string'
}
addonProfiles: {
{customized property}: {
config: {
{customized property}: 'string'
}
enabled: bool
}
}
agentPoolProfiles: [
{
availabilityZones: [
'string'
]
count: int
enableAutoScaling: bool
enableNodePublicIP: bool
maxCount: int
maxPods: int
minCount: int
name: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osType: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
type: 'string'
vmSize: 'string'
vnetSubnetID: 'string'
}
]
apiServerAuthorizedIPRanges: [
'string'
]
dnsPrefix: 'string'
enablePodSecurityPolicy: bool
enableRBAC: bool
kubernetesVersion: 'string'
linuxProfile: {
adminUsername: 'string'
ssh: {
publicKeys: [
{
keyData: 'string'
}
]
}
}
networkProfile: {
dnsServiceIP: 'string'
dockerBridgeCidr: 'string'
loadBalancerSku: 'string'
networkPlugin: 'string'
networkPolicy: 'string'
podCidr: 'string'
serviceCidr: 'string'
}
nodeResourceGroup: 'string'
servicePrincipalProfile: {
clientId: 'string'
secret: 'string'
}
windowsProfile: {
adminPassword: 'string'
adminUsername: 'string'
}
}
tags: {
{customized property}: 'string'
}
}
Значения свойств
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| identity | Удостоверение управляемого кластера, если оно настроено. | ManagedClusterIdentity |
| location | Расположение ресурса | строка (обязательно) |
| name | имя ресурса. | string Constraints: Минимальная длина = 1 Максимальная длина = 63 Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно) |
| properties | Свойства управляемого кластера. | ManagedClusterProperties |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Имя администратора, используемое для виртуальных машин Linux. | string Constraints: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно) |
| ssh | Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. | ContainerServiceSshConfiguration (обязательно) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. | string Constraints: Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerSku | SKU подсистемы балансировки нагрузки для управляемого кластера. | 'basic' 'standard' |
| networkPlugin | Подключаемый модуль сети, используемый для создания сети Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Политика сети, используемая для создания сети Kubernetes. | 'azure' 'calico' |
| podCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. | ContainerServiceSshPublicKey[] (обязательно) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. | строка (обязательно) |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| clientAppID | Идентификатор приложения AAD клиента. | строка (обязательно) |
| serverAppID | Идентификатор приложения AAD сервера. | строка (обязательно) |
| serverAppSecret | Секрет приложения AAD сервера. | string |
| tenantID | Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Пары "ключ-значение" для настройки надстройки. | ManagedClusterAddonProfileConfig |
| enabled | Включена ли надстройка. | bool (обязательно) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. | int |
| enableAutoScaling | Включение автоматического масштабирования | bool |
| enableNodePublicIP | Включение общедоступного IP-адреса для узлов | bool |
| maxCount | Максимальное количество узлов для автоматического масштабирования | int |
| maxPods | Максимальное количество модулей pod, которые могут выполняться на узле. | int |
| minCount | Минимальное количество узлов для автоматического масштабирования | int |
| name | Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. | string Constraints: Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно) |
| nodeTaints | Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. | string[] |
| orchestratorVersion | Версия оркестратора, указанная при создании управляемого кластера. | string |
| osDiskSizeGB | Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. | int Constraints: Минимальное значение = 0 Максимальное значение = 1023 |
| osType | OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. | 'Linux' 'Windows' |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. | 'Low' 'Regular' |
| type | AgentPoolType представляет типы пула агентов | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| vmSize | Размер виртуальных машин агента. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID указывает идентификатор подсети виртуальной сети. | string |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. | 'None' 'SystemAssigned' |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Профиль конфигурации Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Профиль надстройки управляемого кластера. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Свойства пула агентов. | ManagedClusterAgentPoolProfile[] |
| apiServerAuthorizedIPRanges | (предварительная версия) Авторизованные диапазоны IP-адресов для сервера API Kubernetes. | string[] |
| dnsPrefix | Префикс DNS, указанный при создании управляемого кластера. | string |
| enablePodSecurityPolicy | (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Следует ли включить kubernetes Role-Based управление доступом. | bool |
| kubernetesVersion | Версия Kubernetes, указанная при создании управляемого кластера. | string |
| linuxProfile | Профиль виртуальных машин Linux в кластере службы контейнеров. | ContainerServiceLinuxProfile |
| networkProfile | Профиль конфигурации сети. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Имя группы ресурсов, содержащей узлы пула агентов. | string |
| servicePrincipalProfile | Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Профиль виртуальных машин Windows в кластере службы контейнеров. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Идентификатор субъекта-службы. | строка (обязательно) |
| secret | Секретный пароль, связанный с субъектом-службой в виде обычного текста. | string |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Указывает пароль учетной записи администратора. минимальная длина: 8 символов максимальная длина: 123 символов требования к сложности : необходимо выполнить 3 из 4 условий ниже. Имеет нижние символы Имеет верхние символы Имеет цифру Имеет специальный символ (regex match [\W_]) Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!" |
string |
| adminUsername | Указывает имя учетной записи администратора. ограничение : не удается завершить ". Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Минимальная длина: 1 символ максимальная длина: 20 символов |
строка (обязательно) |
ResourceTags
| Name | Description | Value |
|---|
Примеры использования
Примеры Bicep
Простой пример развертывания управляемого кластера Kubernetes (также известного как AKS / Служба Azure Kubernetes).
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource managedCluster 'Microsoft.ContainerService/managedClusters@2023-04-02-preview' = {
name: resourceName
location: location
properties: {
agentPoolProfiles: [
{
count: 1
mode: 'System'
name: 'default'
vmSize: 'Standard_DS2_v2'
}
]
dnsPrefix: resourceName
}
}
Проверенные модули Azure
Следующие проверенные модули Azure можно использовать для развертывания этого типа ресурсов.
| Module | Description |
|---|---|
| Управляемый кластер Службы Azure Kubernetes (AKS) | Модуль ресурсов AVM для управляемого кластера Службы Azure Kubernetes (AKS) |
Примеры быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure содержат примеры Bicep для развертывания этого типа ресурса.
| Файл Bicep | Description |
|---|---|
| кластер AKS с шлюзом NAT и шлюзом приложений | В этом примере показано, как развернуть кластер AKS с шлюзом NAT для исходящих подключений и шлюза приложений для входящих подключений. |
| кластер AKS с контроллером входящего трафика шлюза приложений | В этом примере показано, как развернуть кластер AKS с помощью шлюза приложений, контроллера входящего трафика шлюза приложений, реестра контейнеров Azure, Log Analytics и Key Vault |
| Служба контейнеров Azure (AKS) | Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью узлов контейнеров Azure Linux |
| Служба контейнеров Azure (AKS) | Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) |
| Служба контейнеров Azure (AKS) с Helm | Развертывание управляемого кластера с помощью службы контейнеров Azure (AKS) с помощью Helm |
| Служба Azure Kubernetes (AKS) | Развернуть управляемый кластер с Azure Kubernetes Service (AKS) с использованием Azure Linux с OS Guard |
| Служба Azure Kubernetes (AKS) | Развертывает управляемый кластер Kubernetes с помощью службы Azure Kubernetes (AKS) |
| сквозной настройке машинного обучения Azure | В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS. |
| сквозной настройке машинного обучения Azure (устаревшая версия) | В этом наборе шаблонов Bicep показано, как настроить сквозную настройку Машинного обучения Azure. Эта эталонная реализация включает рабочую область, вычислительный кластер, вычислительный экземпляр и присоединенный частный кластер AKS. |
| создание частного кластера AKS | В этом примере показано, как создать частный кластер AKS в виртуальной сети вместе с виртуальной машиной jumpbox. |
| Создание AKS с prometheus и Grafana с помощью ссылки privae | Вы создадите azure grafana, AKS и установите Prometheus, набор средств мониторинга и оповещений с открытым кодом в кластере Службы Azure Kubernetes (AKS). Затем вы используете управляемую частную конечную точку Azure Grafana для подключения к этому серверу Prometheus и отображения данных Prometheus на панели мониторинга Grafana |
Определение ресурса шаблона ARM
Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:
- группы ресурсов . См. команды развертывания группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий код JSON в шаблон.
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2019-06-01",
"name": "string",
"identity": {
"type": "string"
},
"location": "string",
"properties": {
"aadProfile": {
"clientAppID": "string",
"serverAppID": "string",
"serverAppSecret": "string",
"tenantID": "string"
},
"addonProfiles": {
"{customized property}": {
"config": {
"{customized property}": "string"
},
"enabled": "bool"
}
},
"agentPoolProfiles": [
{
"availabilityZones": [ "string" ],
"count": "int",
"enableAutoScaling": "bool",
"enableNodePublicIP": "bool",
"maxCount": "int",
"maxPods": "int",
"minCount": "int",
"name": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osType": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"type": "string",
"vmSize": "string",
"vnetSubnetID": "string"
}
],
"apiServerAuthorizedIPRanges": [ "string" ],
"dnsPrefix": "string",
"enablePodSecurityPolicy": "bool",
"enableRBAC": "bool",
"kubernetesVersion": "string",
"linuxProfile": {
"adminUsername": "string",
"ssh": {
"publicKeys": [
{
"keyData": "string"
}
]
}
},
"networkProfile": {
"dnsServiceIP": "string",
"dockerBridgeCidr": "string",
"loadBalancerSku": "string",
"networkPlugin": "string",
"networkPolicy": "string",
"podCidr": "string",
"serviceCidr": "string"
},
"nodeResourceGroup": "string",
"servicePrincipalProfile": {
"clientId": "string",
"secret": "string"
},
"windowsProfile": {
"adminPassword": "string",
"adminUsername": "string"
}
},
"tags": {
"{customized property}": "string"
}
}
Значения свойств
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| apiVersion | Версия API | '2019-06-01' |
| identity | Удостоверение управляемого кластера, если оно настроено. | ManagedClusterIdentity |
| location | Расположение ресурса | строка (обязательно) |
| name | имя ресурса. | string Constraints: Минимальная длина = 1 Максимальная длина = 63 Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно) |
| properties | Свойства управляемого кластера. | ManagedClusterProperties |
| tags | Теги ресурсов | Словарь имен и значений тегов. См. теги в шаблонах |
| type | Тип ресурса | 'Microsoft.ContainerService/managedClusters' |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Имя администратора, используемое для виртуальных машин Linux. | string Constraints: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно) |
| ssh | Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. | ContainerServiceSshConfiguration (обязательно) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. | string Constraints: Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerSku | SKU подсистемы балансировки нагрузки для управляемого кластера. | 'basic' 'standard' |
| networkPlugin | Подключаемый модуль сети, используемый для создания сети Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Политика сети, используемая для создания сети Kubernetes. | 'azure' 'calico' |
| podCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. | ContainerServiceSshPublicKey[] (обязательно) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. | строка (обязательно) |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| clientAppID | Идентификатор приложения AAD клиента. | строка (обязательно) |
| serverAppID | Идентификатор приложения AAD сервера. | строка (обязательно) |
| serverAppSecret | Секрет приложения AAD сервера. | string |
| tenantID | Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Пары "ключ-значение" для настройки надстройки. | ManagedClusterAddonProfileConfig |
| enabled | Включена ли надстройка. | bool (обязательно) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. | int |
| enableAutoScaling | Включение автоматического масштабирования | bool |
| enableNodePublicIP | Включение общедоступного IP-адреса для узлов | bool |
| maxCount | Максимальное количество узлов для автоматического масштабирования | int |
| maxPods | Максимальное количество модулей pod, которые могут выполняться на узле. | int |
| minCount | Минимальное количество узлов для автоматического масштабирования | int |
| name | Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. | string Constraints: Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно) |
| nodeTaints | Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. | string[] |
| orchestratorVersion | Версия оркестратора, указанная при создании управляемого кластера. | string |
| osDiskSizeGB | Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. | int Constraints: Минимальное значение = 0 Максимальное значение = 1023 |
| osType | OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. | 'Linux' 'Windows' |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. | 'Low' 'Regular' |
| type | AgentPoolType представляет типы пула агентов | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| vmSize | Размер виртуальных машин агента. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID указывает идентификатор подсети виртуальной сети. | string |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. | 'None' 'SystemAssigned' |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Профиль конфигурации Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Профиль надстройки управляемого кластера. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Свойства пула агентов. | ManagedClusterAgentPoolProfile[] |
| apiServerAuthorizedIPRanges | (предварительная версия) Авторизованные диапазоны IP-адресов для сервера API Kubernetes. | string[] |
| dnsPrefix | Префикс DNS, указанный при создании управляемого кластера. | string |
| enablePodSecurityPolicy | (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Следует ли включить kubernetes Role-Based управление доступом. | bool |
| kubernetesVersion | Версия Kubernetes, указанная при создании управляемого кластера. | string |
| linuxProfile | Профиль виртуальных машин Linux в кластере службы контейнеров. | ContainerServiceLinuxProfile |
| networkProfile | Профиль конфигурации сети. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Имя группы ресурсов, содержащей узлы пула агентов. | string |
| servicePrincipalProfile | Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Профиль виртуальных машин Windows в кластере службы контейнеров. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Идентификатор субъекта-службы. | строка (обязательно) |
| secret | Секретный пароль, связанный с субъектом-службой в виде обычного текста. | string |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Указывает пароль учетной записи администратора. минимальная длина: 8 символов максимальная длина: 123 символов требования к сложности : необходимо выполнить 3 из 4 условий ниже. Имеет нижние символы Имеет верхние символы Имеет цифру Имеет специальный символ (regex match [\W_]) Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!" |
string |
| adminUsername | Указывает имя учетной записи администратора. ограничение : не удается завершить ". Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Минимальная длина: 1 символ максимальная длина: 20 символов |
строка (обязательно) |
ResourceTags
| Name | Description | Value |
|---|
Примеры использования
Шаблоны быстрого запуска Azure
Следующие шаблоны быстрого запуска Azure развернуть этот тип ресурса.
| Template | 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. |
|
CI/CD с помощью Jenkins в службе контейнеров Azure (AKS) |
Контейнеры упрощают непрерывное создание и развертывание приложений. Оркестрируя развертывание этих контейнеров с помощью Kubernetes в службе контейнеров Azure, вы можете добиться реплицируемых управляемых кластеров контейнеров. Настроив непрерывную сборку для создания образов контейнеров и оркестрации, вы можете повысить скорость и надежность развертывания. |
|
создание частного кластера AKS |
В этом примере показано, как создать частный кластер AKS в виртуальной сети вместе с виртуальной машиной jumpbox. |
|
создание частного кластера AKS с общедоступной зоны DNS |
В этом примере показано, как развернуть частный кластер AKS с общедоступной зоной DNS. |
|
Создание AKS с prometheus и Grafana с помощью ссылки privae |
Вы создадите azure grafana, AKS и установите Prometheus, набор средств мониторинга и оповещений с открытым кодом в кластере Службы Azure Kubernetes (AKS). Затем вы используете управляемую частную конечную точку Azure Grafana для подключения к этому серверу Prometheus и отображения данных Prometheus на панели мониторинга Grafana |
|
Развертывание управляемого кластера Kubernetes (AKS) |
Этот шаблон ARM демонстрирует развертывание экземпляра AKS с расширенными сетевыми функциями в существующей виртуальной сети. Кроме того, выбранный субъект-служба назначает роль участника сети в подсети, содержащей кластер AKS. |
|
Развертывание управляемого кластера Kubernetes с помощью AAD (AKS) |
Этот шаблон ARM демонстрирует развертывание экземпляра AKS с расширенными сетевыми функциями в существующей виртуальной сети и целочислении Azure AD. Кроме того, выбранный субъект-служба назначает роль участника сети в подсети, содержащей кластер AKS. |
|
Развертывание кластера AKS для Машинного обучения Azure |
Этот шаблон позволяет развернуть кластер AKS, совместимый с entreprise, который можно подключить к Azure ML. |
|
min.io Шлюз Azure |
Полное частное min.io развертывание шлюза Azure для предоставления API хранилища, соответствующего S3, поддерживаемого хранилищем BLOB-объектов |
Определение ресурса Terraform (поставщик AzAPI)
Тип ресурса managedClusters можно развернуть с помощью операций, предназначенных для следующих операций:
- Группы ресурсов
Список измененных свойств в каждой версии API см. в журнала изменений.
Формат ресурса
Чтобы создать ресурс Microsoft.ContainerService/managedClusters, добавьте следующий объект Terraform в шаблон.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters@2019-06-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
aadProfile = {
clientAppID = "string"
serverAppID = "string"
serverAppSecret = "string"
tenantID = "string"
}
addonProfiles = {
{customized property} = {
config = {
{customized property} = "string"
}
enabled = bool
}
}
agentPoolProfiles = [
{
availabilityZones = [
"string"
]
count = int
enableAutoScaling = bool
enableNodePublicIP = bool
maxCount = int
maxPods = int
minCount = int
name = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osType = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
type = "string"
vmSize = "string"
vnetSubnetID = "string"
}
]
apiServerAuthorizedIPRanges = [
"string"
]
dnsPrefix = "string"
enablePodSecurityPolicy = bool
enableRBAC = bool
kubernetesVersion = "string"
linuxProfile = {
adminUsername = "string"
ssh = {
publicKeys = [
{
keyData = "string"
}
]
}
}
networkProfile = {
dnsServiceIP = "string"
dockerBridgeCidr = "string"
loadBalancerSku = "string"
networkPlugin = "string"
networkPolicy = "string"
podCidr = "string"
serviceCidr = "string"
}
nodeResourceGroup = "string"
servicePrincipalProfile = {
clientId = "string"
secret = "string"
}
windowsProfile = {
adminPassword = "string"
adminUsername = "string"
}
}
}
}
Значения свойств
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| identity | Удостоверение управляемого кластера, если оно настроено. | ManagedClusterIdentity |
| location | Расположение ресурса | строка (обязательно) |
| name | имя ресурса. | string Constraints: Минимальная длина = 1 Максимальная длина = 63 Pattern = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (обязательно) |
| properties | Свойства управляемого кластера. | ManagedClusterProperties |
| tags | Теги ресурсов | Словарь имен и значений тегов. |
| type | Тип ресурса | "Microsoft.ContainerService/managedClusters@2019-06-01" |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Имя администратора, используемое для виртуальных машин Linux. | string Constraints: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ (обязательно) |
| ssh | Конфигурация SSH для виртуальных машин под управлением Linux, работающих в Azure. | ContainerServiceSshConfiguration (обязательно) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | IP-адрес, назначенный службе DNS Kubernetes. Он должен находиться в диапазоне адресов службы Kubernetes, указанных в serviceCidr. | string Constraints: Шаблон = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Диапазон IP-адресов нотации CIDR, назначенный сети моста Docker. Он не должен перекрываться с диапазонами IP-адресов подсети или диапазоном адресов службы Kubernetes. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerSku | SKU подсистемы балансировки нагрузки для управляемого кластера. | 'basic' 'standard' |
| networkPlugin | Подключаемый модуль сети, используемый для создания сети Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Политика сети, используемая для создания сети Kubernetes. | 'azure' 'calico' |
| podCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса pod при использовании kubenet. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Диапазон IP-адресов нотации CIDR, из которого следует назначать IP-адреса кластера служб. Он не должен перекрываться с диапазонами IP-адресов подсети. | string Constraints: Шаблон = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Список открытых ключей SSH, используемых для проверки подлинности на виртуальных машинах под управлением Linux. Ожидается только один ключ. | ContainerServiceSshPublicKey[] (обязательно) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Открытый ключ сертификата, используемый для проверки подлинности с помощью SSH виртуальных машин. Сертификат должен быть в формате PEM с заголовками или без него. | строка (обязательно) |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| clientAppID | Идентификатор приложения AAD клиента. | строка (обязательно) |
| serverAppID | Идентификатор приложения AAD сервера. | строка (обязательно) |
| serverAppSecret | Секрет приложения AAD сервера. | string |
| tenantID | Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Пары "ключ-значение" для настройки надстройки. | ManagedClusterAddonProfileConfig |
| enabled | Включена ли надстройка. | bool (обязательно) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | (предварительная версия) Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 1 до 100 (включительно). Значение по умолчанию — 1. | int |
| enableAutoScaling | Включение автоматического масштабирования | bool |
| enableNodePublicIP | Включение общедоступного IP-адреса для узлов | bool |
| maxCount | Максимальное количество узлов для автоматического масштабирования | int |
| maxPods | Максимальное количество модулей pod, которые могут выполняться на узле. | int |
| minCount | Минимальное количество узлов для автоматического масштабирования | int |
| name | Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. | string Constraints: Pattern = ^[a-z][a-z0-9]{0,11}$ (обязательно) |
| nodeTaints | Таинты добавляются к новым узлам во время создания и масштабирования пула узлов. Например, key=value:NoSchedule. | string[] |
| orchestratorVersion | Версия оркестратора, указанная при создании управляемого кластера. | string |
| osDiskSizeGB | Размер диска ОС в ГБ, используемый для указания размера диска для каждого компьютера в этом главном или агентном пуле. Если указать значение 0, он будет применять размер osDisk по умолчанию в соответствии с указанным vmSize. | int Constraints: Минимальное значение = 0 Максимальное значение = 1023 |
| osType | OsType, используемый для указания типа ос. Выберите из Linux и Windows. По умолчанию используется Linux. | 'Linux' 'Windows' |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy для указания политики вытеснения для масштабируемого набора виртуальных машин с низким приоритетом. По умолчанию используется значение Delete. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority для указания приоритета масштабируемого набора виртуальных машин. По умолчанию используется регулярно. | 'Low' 'Regular' |
| type | AgentPoolType представляет типы пула агентов | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| vmSize | Размер виртуальных машин агента. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID указывает идентификатор подсети виртуальной сети. | string |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Тип удостоверения, используемого для управляемого кластера. Тип SystemAssigned будет использовать неявно созданное удостоверение в основных компонентах и автоматически созданное удостоверение пользователя в MC_ группе ресурсов в узлах агента. Вместо этого тип "Нет" не будет использовать MSI для управляемого кластера, вместо этого будет использоваться субъект-служба. | 'None' 'SystemAssigned' |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Профиль конфигурации Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Профиль надстройки управляемого кластера. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Свойства пула агентов. | ManagedClusterAgentPoolProfile[] |
| apiServerAuthorizedIPRanges | (предварительная версия) Авторизованные диапазоны IP-адресов для сервера API Kubernetes. | string[] |
| dnsPrefix | Префикс DNS, указанный при создании управляемого кластера. | string |
| enablePodSecurityPolicy | (НЕ РЕКОМЕНДУЕТСЯ) Следует ли включить политику безопасности pod Kubernetes (предварительная версия). Эта функция устанавливается для удаления 15 октября 2020 г. Дополнительные сведения см. в aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Следует ли включить kubernetes Role-Based управление доступом. | bool |
| kubernetesVersion | Версия Kubernetes, указанная при создании управляемого кластера. | string |
| linuxProfile | Профиль виртуальных машин Linux в кластере службы контейнеров. | ContainerServiceLinuxProfile |
| networkProfile | Профиль конфигурации сети. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Имя группы ресурсов, содержащей узлы пула агентов. | string |
| servicePrincipalProfile | Сведения об удостоверении субъекта-службы для кластера, используемого для управления API Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Профиль виртуальных машин Windows в кластере службы контейнеров. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Идентификатор субъекта-службы. | строка (обязательно) |
| secret | Секретный пароль, связанный с субъектом-службой в виде обычного текста. | string |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Указывает пароль учетной записи администратора. минимальная длина: 8 символов максимальная длина: 123 символов требования к сложности : необходимо выполнить 3 из 4 условий ниже. Имеет нижние символы Имеет верхние символы Имеет цифру Имеет специальный символ (regex match [\W_]) Запрещенные значения: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "loweyou!" |
string |
| adminUsername | Указывает имя учетной записи администратора. ограничение : не удается завершить ". Запрещенные значения: "администратор", "admin", "user1", "user1", "test2", "test1", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Минимальная длина: 1 символ максимальная длина: 20 символов |
строка (обязательно) |
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 |