Microsoft. ContainerService managedClusters 2020-12-01

Remarks

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

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

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

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

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

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-12-01' = {
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      enableAzureRBAC: bool
      managed: bool
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableNodePublicIP: bool
        kubeletConfig: {
          allowedUnsafeSysctls: [
            'string'
          ]
          containerLogMaxFiles: int
          containerLogMaxSizeMB: int
          cpuCfsQuota: bool
          cpuCfsQuotaPeriod: 'string'
          cpuManagerPolicy: 'string'
          failSwapOn: bool
          imageGcHighThreshold: int
          imageGcLowThreshold: int
          podMaxPids: int
          topologyManagerPolicy: 'string'
        }
        kubeletDiskType: 'string'
        linuxOSConfig: {
          swapFileSizeMB: int
          sysctls: {
            fsAioMaxNr: int
            fsFileMax: int
            fsInotifyMaxUserWatches: int
            fsNrOpen: int
            kernelThreadsMax: int
            netCoreNetdevMaxBacklog: int
            netCoreOptmemMax: int
            netCoreRmemDefault: int
            netCoreRmemMax: int
            netCoreSomaxconn: int
            netCoreWmemDefault: int
            netCoreWmemMax: int
            netIpv4IpLocalPortRange: 'string'
            netIpv4NeighDefaultGcThresh1: int
            netIpv4NeighDefaultGcThresh2: int
            netIpv4NeighDefaultGcThresh3: int
            netIpv4TcpFinTimeout: int
            netIpv4TcpkeepaliveIntvl: int
            netIpv4TcpKeepaliveProbes: int
            netIpv4TcpKeepaliveTime: int
            netIpv4TcpMaxSynBacklog: int
            netIpv4TcpMaxTwBuckets: int
            netIpv4TcpTwReuse: bool
            netNetfilterNfConntrackBuckets: int
            netNetfilterNfConntrackMax: int
            vmMaxMapCount: int
            vmSwappiness: int
            vmVfsCachePressure: int
          }
          transparentHugePageDefrag: 'string'
          transparentHugePageEnabled: 'string'
        }
        maxCount: int
        maxPods: int
        minCount: int
        mode: 'string'
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osType: 'string'
        podSubnetID: 'string'
        proximityPlacementGroupID: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: int
        tags: {
          {customized property}: 'string'
        }
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      enablePrivateCluster: bool
      privateDNSZone: 'string'
    }
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      expander: 'string'
      max-empty-bulk-delete: 'string'
      max-graceful-termination-sec: 'string'
      max-node-provision-time: 'string'
      max-total-unready-percentage: 'string'
      new-pod-scale-up-delay: 'string'
      ok-total-unready-count: 'string'
      scale-down-delay-after-add: 'string'
      scale-down-delay-after-delete: 'string'
      scale-down-delay-after-failure: 'string'
      scale-down-unneeded-time: 'string'
      scale-down-unready-time: 'string'
      scale-down-utilization-threshold: 'string'
      scan-interval: 'string'
      skip-nodes-with-local-storage: 'string'
      skip-nodes-with-system-pods: 'string'
    }
    autoUpgradeProfile: {
      upgradeChannel: 'string'
    }
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    nodeResourceGroup: 'string'
    podIdentityProfile: {
      enabled: bool
      userAssignedIdentities: [
        {
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      licenseType: 'string'
    }
  }
  sku: {
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

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

Microsoft.ContainerService/managedClusters

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

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

AgentPoolUpgradeSettings

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

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

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

ContainerServiceLinuxProfile

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

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

ContainerServiceNetworkProfile

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

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

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

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

KubeletConfig

Name Description Value
allowedUnsafeSysctls Список разрешенных небезопасных системных шаблонов или небезопасных шаблонов sysctl (заканчивается на *). string[]
containerLogMaxFiles Максимальное количество файлов журнала контейнера, которое может присутствовать для контейнера. Число должно быть ≥ 2. int

Constraints:
Минимальное значение = 2
containerLogMaxSizeMB Максимальный размер (например, 10Mi) файла журнала контейнера перед его поворотом. int
cpuCfsQuota Включите принудительное применение квот ЦП CFS для контейнеров, определяющих ограничения ЦП. bool
cpuCfsQuotaPeriod Задает значение периода квоты CFS для центрального процессора. string
cpuManagerPolicy Политика диспетчера ЦП, используемая. string
failSwapOn Если задано значение true, это приведет к сбою запуска Kubelet, если переключение включено на узле. bool
imageGcHighThreshold Процент использования дискового пространства, после достижения которого всегда выполняется очистка ненужных данных образов. int
imageGcLowThreshold Процент дискового пространства, до достижения которого сборка ненужных образов никогда не выполняется. int
podMaxPids Максимальное количество процессов на модуль pod. int
topologyManagerPolicy Политика диспетчера топологий для использования. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB указывает размер в МБ файла буфера, который будет создан на каждом узле. int
sysctls Параметры sysctl для узлов агента Linux. SysctlConfig
transparentHugePageDefrag Прозрачная конфигурация дефрагментации страницы. string
transparentHugePageEnabled Конфигурация прозрачной огромной страницы включена. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableEncryptionAtHost Включение EncryptionAtHost bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
kubeletConfig KubeletConfig указывает конфигурацию kubelet на узлах агента. KubeletConfig
kubeletDiskType KubeletDiskType определяет размещение томов emptyDir, корневого каталога данных среды выполнения контейнера и эфемерного хранилища Kubelet. В настоящее время допускается одно значение ОС, в результате чего Kubelet использует диск ОС для данных. 'OS'
linuxOSConfig LinuxOSConfig указывает конфигурацию ОС узлов агента Linux. LinuxOSConfig
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel канал обновления для автоматического обновления. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

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

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

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

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

Constraints:
Минимальное значение = 4
Максимальное значение = 120
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterPodIdentity

Name Description Value
identity Сведения о назначенном пользователем удостоверении. UserAssignedIdentity (обязательно)
name Имя удостоверения pod. строка (обязательно)
namespace Пространство имен удостоверения pod. строка (обязательно)

ManagedClusterPodIdentityException

Name Description Value
name Имя исключения удостоверения pod. строка (обязательно)
namespace Пространство имен исключения удостоверений pod. строка (обязательно)
podLabels Метки pod для сопоставления. ManagedClusterPodIdentityExceptionPodLabels (обязательно)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Включена ли надстройка удостоверения pod. bool
userAssignedIdentities Параметры удостоверений pod, назначенные пользователем. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Параметры исключения удостоверений pod, назначенные пользователем. ManagedClusterPodIdentityException[]

ManagedClusterProperties

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

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

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

ManagedClusterWindowsProfile

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

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

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

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

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

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

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

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

максимальная длина: 20 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

ResourceReference

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

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Настройка sysctl fs.aio-max-nr. int
fsFileMax Настройка sysctl fs.file-max. int
fsInotifyMaxUserWatches Параметр sysctl fs.inotify.max_user_watches. int
fsNrOpen Параметр sysctl fs.nr_open. int
kernelThreadsMax Sysctl устанавливает kernel.threads-max. int
netCoreNetdevMaxBacklog Параметр sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Параметр sysctl net.core.optmem_max. int
netCoreRmemDefault Параметр sysctl net.core.rmem_default. int
netCoreRmemMax Параметр sysctl net.core.rmem_max. int
netCoreSomaxconn Настройка sysctl net.core.somaxconn. int
netCoreWmemDefault Параметр sysctl net.core.wmem_default. int
netCoreWmemMax Параметр sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Параметр sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Параметр sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Параметр sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Параметр sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Параметр sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Параметр sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Параметр sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Параметр sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Параметр sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Параметр sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Параметр sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Параметр sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Параметр sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Параметр sysctl vm.max_map_count. int
vmSwappiness Параметр sysctl vm.swappiness. int
vmVfsCachePressure Параметр sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

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

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

Примеры Bicep

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

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

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

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

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

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

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

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

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

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

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

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

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

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

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2020-12-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "enableAzureRBAC": "bool",
      "managed": "bool",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableNodePublicIP": "bool",
        "kubeletConfig": {
          "allowedUnsafeSysctls": [ "string" ],
          "containerLogMaxFiles": "int",
          "containerLogMaxSizeMB": "int",
          "cpuCfsQuota": "bool",
          "cpuCfsQuotaPeriod": "string",
          "cpuManagerPolicy": "string",
          "failSwapOn": "bool",
          "imageGcHighThreshold": "int",
          "imageGcLowThreshold": "int",
          "podMaxPids": "int",
          "topologyManagerPolicy": "string"
        },
        "kubeletDiskType": "string",
        "linuxOSConfig": {
          "swapFileSizeMB": "int",
          "sysctls": {
            "fsAioMaxNr": "int",
            "fsFileMax": "int",
            "fsInotifyMaxUserWatches": "int",
            "fsNrOpen": "int",
            "kernelThreadsMax": "int",
            "netCoreNetdevMaxBacklog": "int",
            "netCoreOptmemMax": "int",
            "netCoreRmemDefault": "int",
            "netCoreRmemMax": "int",
            "netCoreSomaxconn": "int",
            "netCoreWmemDefault": "int",
            "netCoreWmemMax": "int",
            "netIpv4IpLocalPortRange": "string",
            "netIpv4NeighDefaultGcThresh1": "int",
            "netIpv4NeighDefaultGcThresh2": "int",
            "netIpv4NeighDefaultGcThresh3": "int",
            "netIpv4TcpFinTimeout": "int",
            "netIpv4TcpkeepaliveIntvl": "int",
            "netIpv4TcpKeepaliveProbes": "int",
            "netIpv4TcpKeepaliveTime": "int",
            "netIpv4TcpMaxSynBacklog": "int",
            "netIpv4TcpMaxTwBuckets": "int",
            "netIpv4TcpTwReuse": "bool",
            "netNetfilterNfConntrackBuckets": "int",
            "netNetfilterNfConntrackMax": "int",
            "vmMaxMapCount": "int",
            "vmSwappiness": "int",
            "vmVfsCachePressure": "int"
          },
          "transparentHugePageDefrag": "string",
          "transparentHugePageEnabled": "string"
        },
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osType": "string",
        "podSubnetID": "string",
        "proximityPlacementGroupID": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "int",
        "tags": {
          "{customized property}": "string"
        },
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "enablePrivateCluster": "bool",
      "privateDNSZone": "string"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-node-provision-time": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "autoUpgradeProfile": {
      "upgradeChannel": "string"
    },
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "nodeResourceGroup": "string",
    "podIdentityProfile": {
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "licenseType": "string"
    }
  },
  "sku": {
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

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

Microsoft.ContainerService/managedClusters

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

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

AgentPoolUpgradeSettings

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

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

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

ContainerServiceLinuxProfile

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

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

ContainerServiceNetworkProfile

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

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

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

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

KubeletConfig

Name Description Value
allowedUnsafeSysctls Список разрешенных небезопасных системных шаблонов или небезопасных шаблонов sysctl (заканчивается на *). string[]
containerLogMaxFiles Максимальное количество файлов журнала контейнера, которое может присутствовать для контейнера. Число должно быть ≥ 2. int

Constraints:
Минимальное значение = 2
containerLogMaxSizeMB Максимальный размер (например, 10Mi) файла журнала контейнера перед его поворотом. int
cpuCfsQuota Включите принудительное применение квот ЦП CFS для контейнеров, определяющих ограничения ЦП. bool
cpuCfsQuotaPeriod Задает значение периода квоты CFS для центрального процессора. string
cpuManagerPolicy Политика диспетчера ЦП, используемая. string
failSwapOn Если задано значение true, это приведет к сбою запуска Kubelet, если переключение включено на узле. bool
imageGcHighThreshold Процент использования дискового пространства, после достижения которого всегда выполняется очистка ненужных данных образов. int
imageGcLowThreshold Процент дискового пространства, до достижения которого сборка ненужных образов никогда не выполняется. int
podMaxPids Максимальное количество процессов на модуль pod. int
topologyManagerPolicy Политика диспетчера топологий для использования. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB указывает размер в МБ файла буфера, который будет создан на каждом узле. int
sysctls Параметры sysctl для узлов агента Linux. SysctlConfig
transparentHugePageDefrag Прозрачная конфигурация дефрагментации страницы. string
transparentHugePageEnabled Конфигурация прозрачной огромной страницы включена. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableEncryptionAtHost Включение EncryptionAtHost bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
kubeletConfig KubeletConfig указывает конфигурацию kubelet на узлах агента. KubeletConfig
kubeletDiskType KubeletDiskType определяет размещение томов emptyDir, корневого каталога данных среды выполнения контейнера и эфемерного хранилища Kubelet. В настоящее время допускается одно значение ОС, в результате чего Kubelet использует диск ОС для данных. 'OS'
linuxOSConfig LinuxOSConfig указывает конфигурацию ОС узлов агента Linux. LinuxOSConfig
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel канал обновления для автоматического обновления. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

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

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

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

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

Constraints:
Минимальное значение = 4
Максимальное значение = 120
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterPodIdentity

Name Description Value
identity Сведения о назначенном пользователем удостоверении. UserAssignedIdentity (обязательно)
name Имя удостоверения pod. строка (обязательно)
namespace Пространство имен удостоверения pod. строка (обязательно)

ManagedClusterPodIdentityException

Name Description Value
name Имя исключения удостоверения pod. строка (обязательно)
namespace Пространство имен исключения удостоверений pod. строка (обязательно)
podLabels Метки pod для сопоставления. ManagedClusterPodIdentityExceptionPodLabels (обязательно)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Включена ли надстройка удостоверения pod. bool
userAssignedIdentities Параметры удостоверений pod, назначенные пользователем. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Параметры исключения удостоверений pod, назначенные пользователем. ManagedClusterPodIdentityException[]

ManagedClusterProperties

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

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

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

ManagedClusterWindowsProfile

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

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

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

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

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

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

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

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

максимальная длина: 20 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

ResourceReference

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

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Настройка sysctl fs.aio-max-nr. int
fsFileMax Настройка sysctl fs.file-max. int
fsInotifyMaxUserWatches Параметр sysctl fs.inotify.max_user_watches. int
fsNrOpen Параметр sysctl fs.nr_open. int
kernelThreadsMax Sysctl устанавливает kernel.threads-max. int
netCoreNetdevMaxBacklog Параметр sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Параметр sysctl net.core.optmem_max. int
netCoreRmemDefault Параметр sysctl net.core.rmem_default. int
netCoreRmemMax Параметр sysctl net.core.rmem_max. int
netCoreSomaxconn Настройка sysctl net.core.somaxconn. int
netCoreWmemDefault Параметр sysctl net.core.wmem_default. int
netCoreWmemMax Параметр sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Параметр sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Параметр sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Параметр sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Параметр sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Параметр sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Параметр sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Параметр sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Параметр sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Параметр sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Параметр sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Параметр sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Параметр sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Параметр sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Параметр sysctl vm.max_map_count. int
vmSwappiness Параметр sysctl vm.swappiness. int
vmVfsCachePressure Параметр sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2020-12-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      aadProfile = {
        adminGroupObjectIDs = [
          "string"
        ]
        clientAppID = "string"
        enableAzureRBAC = bool
        managed = bool
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableNodePublicIP = bool
          kubeletConfig = {
            allowedUnsafeSysctls = [
              "string"
            ]
            containerLogMaxFiles = int
            containerLogMaxSizeMB = int
            cpuCfsQuota = bool
            cpuCfsQuotaPeriod = "string"
            cpuManagerPolicy = "string"
            failSwapOn = bool
            imageGcHighThreshold = int
            imageGcLowThreshold = int
            podMaxPids = int
            topologyManagerPolicy = "string"
          }
          kubeletDiskType = "string"
          linuxOSConfig = {
            swapFileSizeMB = int
            sysctls = {
              fsAioMaxNr = int
              fsFileMax = int
              fsInotifyMaxUserWatches = int
              fsNrOpen = int
              kernelThreadsMax = int
              netCoreNetdevMaxBacklog = int
              netCoreOptmemMax = int
              netCoreRmemDefault = int
              netCoreRmemMax = int
              netCoreSomaxconn = int
              netCoreWmemDefault = int
              netCoreWmemMax = int
              netIpv4IpLocalPortRange = "string"
              netIpv4NeighDefaultGcThresh1 = int
              netIpv4NeighDefaultGcThresh2 = int
              netIpv4NeighDefaultGcThresh3 = int
              netIpv4TcpFinTimeout = int
              netIpv4TcpkeepaliveIntvl = int
              netIpv4TcpKeepaliveProbes = int
              netIpv4TcpKeepaliveTime = int
              netIpv4TcpMaxSynBacklog = int
              netIpv4TcpMaxTwBuckets = int
              netIpv4TcpTwReuse = bool
              netNetfilterNfConntrackBuckets = int
              netNetfilterNfConntrackMax = int
              vmMaxMapCount = int
              vmSwappiness = int
              vmVfsCachePressure = int
            }
            transparentHugePageDefrag = "string"
            transparentHugePageEnabled = "string"
          }
          maxCount = int
          maxPods = int
          minCount = int
          mode = "string"
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osType = "string"
          podSubnetID = "string"
          proximityPlacementGroupID = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = int
          tags = {
            {customized property} = "string"
          }
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        enablePrivateCluster = bool
        privateDNSZone = "string"
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-node-provision-time = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      autoUpgradeProfile = {
        upgradeChannel = "string"
      }
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      nodeResourceGroup = "string"
      podIdentityProfile = {
        enabled = bool
        userAssignedIdentities = [
          {
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        licenseType = "string"
      }
    }
    sku = {
      name = "string"
      tier = "string"
    }
  }
}

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

Microsoft.ContainerService/managedClusters

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

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

AgentPoolUpgradeSettings

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

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

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

ContainerServiceLinuxProfile

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

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

ContainerServiceNetworkProfile

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

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

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

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

KubeletConfig

Name Description Value
allowedUnsafeSysctls Список разрешенных небезопасных системных шаблонов или небезопасных шаблонов sysctl (заканчивается на *). string[]
containerLogMaxFiles Максимальное количество файлов журнала контейнера, которое может присутствовать для контейнера. Число должно быть ≥ 2. int

Constraints:
Минимальное значение = 2
containerLogMaxSizeMB Максимальный размер (например, 10Mi) файла журнала контейнера перед его поворотом. int
cpuCfsQuota Включите принудительное применение квот ЦП CFS для контейнеров, определяющих ограничения ЦП. bool
cpuCfsQuotaPeriod Задает значение периода квоты CFS для центрального процессора. string
cpuManagerPolicy Политика диспетчера ЦП, используемая. string
failSwapOn Если задано значение true, это приведет к сбою запуска Kubelet, если переключение включено на узле. bool
imageGcHighThreshold Процент использования дискового пространства, после достижения которого всегда выполняется очистка ненужных данных образов. int
imageGcLowThreshold Процент дискового пространства, до достижения которого сборка ненужных образов никогда не выполняется. int
podMaxPids Максимальное количество процессов на модуль pod. int
topologyManagerPolicy Политика диспетчера топологий для использования. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB указывает размер в МБ файла буфера, который будет создан на каждом узле. int
sysctls Параметры sysctl для узлов агента Linux. SysctlConfig
transparentHugePageDefrag Прозрачная конфигурация дефрагментации страницы. string
transparentHugePageEnabled Конфигурация прозрачной огромной страницы включена. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Идентификаторы объектов группы AAD, которые будут иметь роль администратора кластера. string[]
clientAppID Идентификатор приложения AAD клиента. string
enableAzureRBAC Следует ли включить авторизацию Azure RBAC для Kubernetes. bool
managed Следует ли включить управляемый AAD. bool
serverAppID Идентификатор приложения AAD сервера. string
serverAppSecret Секрет приложения AAD сервера. string
tenantID Идентификатор клиента AAD, используемый для проверки подлинности. Если не указано, будет использоваться клиент подписки развертывания. string

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Зоны доступности для узлов. Необходимо использовать VirtualMachineScaleSets AgentPoolType. string[]
count Количество агентов (виртуальных машин) для размещения контейнеров Docker. Допустимые значения должны находиться в диапазоне от 0 до 100 (включительно) для пулов пользователей и в диапазоне от 1 до 100 (включительно) для системных пулов. Значение по умолчанию — 1. int
enableAutoScaling Включение автоматического масштабирования bool
enableEncryptionAtHost Включение EncryptionAtHost bool
enableNodePublicIP Включение общедоступного IP-адреса для узлов bool
kubeletConfig KubeletConfig указывает конфигурацию kubelet на узлах агента. KubeletConfig
kubeletDiskType KubeletDiskType определяет размещение томов emptyDir, корневого каталога данных среды выполнения контейнера и эфемерного хранилища Kubelet. В настоящее время допускается одно значение ОС, в результате чего Kubelet использует диск ОС для данных. 'OS'
linuxOSConfig LinuxOSConfig указывает конфигурацию ОС узлов агента Linux. LinuxOSConfig
maxCount Максимальное количество узлов для автоматического масштабирования int
maxPods Максимальное количество модулей pod, которые могут выполняться на узле. int
minCount Минимальное количество узлов для автоматического масштабирования int
mode AgentPoolMode представляет режим пула агентов 'System'
'User'
name Уникальное имя профиля пула агентов в контексте подписки и группы ресурсов. string

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

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

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

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel канал обновления для автоматического обновления. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

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

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

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

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

Constraints:
Минимальное значение = 4
Максимальное значение = 120
managedOutboundIPs Требуемые ip-адреса исходящего трафика для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Требуемые ресурсы префикса ИСХОДЯщего IP-адреса для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Требуемые исходящие IP-ресурсы для подсистемы балансировки нагрузки кластера. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterPodIdentity

Name Description Value
identity Сведения о назначенном пользователем удостоверении. UserAssignedIdentity (обязательно)
name Имя удостоверения pod. строка (обязательно)
namespace Пространство имен удостоверения pod. строка (обязательно)

ManagedClusterPodIdentityException

Name Description Value
name Имя исключения удостоверения pod. строка (обязательно)
namespace Пространство имен исключения удостоверений pod. строка (обязательно)
podLabels Метки pod для сопоставления. ManagedClusterPodIdentityExceptionPodLabels (обязательно)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Включена ли надстройка удостоверения pod. bool
userAssignedIdentities Параметры удостоверений pod, назначенные пользователем. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Параметры исключения удостоверений pod, назначенные пользователем. ManagedClusterPodIdentityException[]

ManagedClusterProperties

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

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

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

ManagedClusterSKU

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

ManagedClusterWindowsProfile

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

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

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

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

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

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

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

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

максимальная длина: 20 символов
строка (обязательно)
licenseType ЛицензияType, используемая для виртуальных машин Windows. Windows_Server используется для включения преимуществ гибридного пользователя Azure для виртуальных машин Windows. 'None'
'Windows_Server'

ResourceReference

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

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Настройка sysctl fs.aio-max-nr. int
fsFileMax Настройка sysctl fs.file-max. int
fsInotifyMaxUserWatches Параметр sysctl fs.inotify.max_user_watches. int
fsNrOpen Параметр sysctl fs.nr_open. int
kernelThreadsMax Sysctl устанавливает kernel.threads-max. int
netCoreNetdevMaxBacklog Параметр sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Параметр sysctl net.core.optmem_max. int
netCoreRmemDefault Параметр sysctl net.core.rmem_default. int
netCoreRmemMax Параметр sysctl net.core.rmem_max. int
netCoreSomaxconn Настройка sysctl net.core.somaxconn. int
netCoreWmemDefault Параметр sysctl net.core.wmem_default. int
netCoreWmemMax Параметр sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Параметр sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Параметр sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Параметр sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Параметр sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Параметр sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Параметр sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Параметр sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Параметр sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Параметр sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Параметр sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Параметр sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Параметр sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Параметр sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Параметр sysctl vm.max_map_count. int
vmSwappiness Параметр sysctl vm.swappiness. int
vmVfsCachePressure Параметр sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

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

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

Примеры 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