你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.ContainerService managedClusters 2020-12-01

Bicep 资源定义

可以使用面向以下操作部署 managedClusters 资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

注解

有关可用加载项的信息,请参阅加载项、扩展和其他与 Azure Kubernetes 服务 的集成

资源格式

若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-12-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    name: 'Basic'
    tier: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  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: 'OS'
        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'
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osType: 'string'
        podSubnetID: 'string'
        proximityPlacementGroupID: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        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'
    }
  }
}

属性值

managedClusters

名称 说明
name 资源名称 字符串 (必需)

字符限制:1-63

有效字符:
字母数字、下划线字符和连字符。

以字母数字开头和结尾。
location 资源位置 字符串 (必需)
标记 资源标记 标记名称和值的字典。 请参阅 模板中的标记
sku 托管群集 SKU。 ManagedClusterSKU
标识 托管群集的标识(如果已配置)。 ManagedClusterIdentity
properties 托管群集的属性。 ManagedClusterProperties

ManagedClusterIdentity

名称 说明 Value
type 用于托管群集的标识类型。 类型“SystemAssigned”将使用主组件中隐式创建的标识,并在代理节点MC_资源组中使用自动创建的用户分配标识。 类型“None”不会对托管群集使用 MSI,将改用服务主体。 “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 与托管群集关联的用户标识。 此标识将用于控制平面,并且只允许一个用户分配的标识。 用户标识字典密钥引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} Components1Umhcm8SchemasManagedclusteridentityProper...

Components1Umhcm8SchemasManagedclusteridentityProper...

此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置的配置文件。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池的属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置的配置文件。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 要用于启用静态加密的磁盘加密集的 ResourceId。 字符串
dnsPrefix 创建托管群集时指定的 DNS 前缀。 字符串
enablePodSecurityPolicy (弃用) 是否在预览版) (启用 Kubernetes Pod 安全策略。 此功能设置为在 2020 年 10 月 15 日删除。 有关详细信息,请参阅 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 创建托管群集时指定的 Kubernetes 版本。 字符串
linuxProfile 容器服务群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
networkProfile 网络配置的配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
podIdentityProfile 托管群集 Pod 标识的配置文件。 ManagedClusterPodIdentityProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
windowsProfile 容器服务群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID。 string[]
clientAppID 客户端 AAD 应用程序 ID。 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID 服务器 AAD 应用程序 ID。 字符串
serverAppSecret 服务器 AAD 应用程序机密。 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名称 说明
config 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
enabled 加载项是否已启用。 需要 bool ()

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 节点的可用性区域。 必须使用 VirtualMachineScaleSets AgentPoolType。 string[]
count ) 托管 docker 容器 (VM 的代理数。 对于用户池,允许的值必须介于 0 到 100 ((含) )和系统池的 1 到 100 (非独占) 范围内。 默认值为 1。 int
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 是否启用 EncryptionAtHost bool
enableNodePublicIP 为节点启用公共 IP bool
kubeletConfig KubeletConfig 指定代理节点上 kubelet 的配置。 KubeletConfig
kubeletDiskType KubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 目前允许一个值 OS,导致 Kubelet 使用 OS 磁盘获取数据。 'OS'
linuxOSConfig LinuxOSConfig 指定 Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
minCount 用于自动缩放的最小节点数 int
mode AgentPoolMode 表示代理池的模式 “System”
“User”
name 订阅和资源组上下文中代理池配置文件的唯一名称。 字符串 (必需)

约束:
模式 = ^[a-z][a-z0-9]{0,11}$
nodeLabels 代理池节点标签将在代理池中的所有节点上持久保存。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 创建托管群集时指定的业务流程协调程序的版本。 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于指定此主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 1023
osDiskType 要用于给定代理池中的计算机的 OS 磁盘类型。 允许的值为“临时”和“托管”。 如果未指定,则当 VM 支持临时 OS 并且缓存磁盘大于请求的 OSDiskSizeGB 时,默认为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 'Ephemeral'
'Managed'
osType 用于指定 os 类型的 OsType。 从 Linux 和 Windows 中进行选择。 默认为 Linux。 “Linux”
“Windows”
podSubnetID Pod SubnetID 指定 Pod 的 VNet 子网标识符。 字符串
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleSetEvictionPolicy ScaleSetEvictionPolicy 用于为现成虚拟机规模集指定逐出策略。 默认为“删除”。 “Deallocate”
“Delete”
scaleSetPriority 用于指定虚拟机规模集优先级的 ScaleSetPriority。 默认为“常规”。 “常规”
“Spot”
spotMaxPrice SpotMaxPrice 用于指定您愿意以美元支付的最高价格。 可能的值是大于零或 -1 的任何十进制值,指示默认价格是按需的。 若要指定十进制值,请使用 json () 函数。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的代理池标记。 对象 (object)
类型 AgentPoolType 表示代理池的类型 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize 代理 VM 的大小。 “Standard_A1”
“Standard_A10”
“Standard_A11”
“Standard_A1_v2”
“Standard_A2”
“Standard_A2_v2”
“Standard_A2m_v2”
“Standard_A3”
“Standard_A4”
“Standard_A4_v2”
“Standard_A4m_v2”
“Standard_A5”
“Standard_A6”
“Standard_A7”
“Standard_A8”
“Standard_A8_v2”
“Standard_A8m_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_D16_v3”
“Standard_D16s_v3”
“Standard_D1_v2”
“Standard_D2”
“Standard_D2_v2”
“Standard_D2_v2_Promo”
“Standard_D2_v3”
“Standard_D2s_v3”
“Standard_D3”
“Standard_D32_v3”
“Standard_D32s_v3”
“Standard_D3_v2”
“Standard_D3_v2_Promo”
“Standard_D4”
“Standard_D4_v2”
“Standard_D4_v2_Promo”
“Standard_D4_v3”
“Standard_D4s_v3”
“Standard_D5_v2”
“Standard_D5_v2_Promo”
“Standard_D64_v3”
“Standard_D64s_v3”
“Standard_D8_v3”
“Standard_D8s_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_E16_v3”
“Standard_E16s_v3”
“Standard_E2_v3”
“Standard_E2s_v3”
“Standard_E32-16s_v3”
“Standard_E32-8s_v3”
“Standard_E32_v3”
“Standard_E32s_v3”
“Standard_E4_v3”
“Standard_E4s_v3”
“Standard_E64-16s_v3”
“Standard_E64-32s_v3”
“Standard_E64_v3”
“Standard_E64s_v3”
“Standard_E8_v3”
“Standard_E8s_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)的 VNet 子网标识符 字符串

KubeletConfig

名称 说明
allowedUnsafeSysctls 不安全 sysctls 或不安全 sysctl 模式的允许列表 (以) 结尾 * string[]
containerLogMaxFiles 一个容器可以存在的最大容器日志文件数。 该数字必须为 2 ≥。 int

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如轮换容器日志文件前的 10Mi) 。 int
cpuCfsQuota 为指定 CPU 限制的容器启用 CPU CFS 配额强制实施。 bool
cpuCfsQuotaPeriod 设置 CPU CFS 配额周期值。 字符串
cpuManagerPolicy 要使用的 CPU 管理器策略。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 自此起始终运行映像垃圾回收的磁盘使用量百分比。 int
imageGcLowThreshold 在此之前从不运行映像垃圾回收的磁盘使用量百分比。 int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 要使用的拓扑管理器策略。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB SwapFileSizeMB 指定将在每个节点上创建的交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 透明巨页碎片整理配置。 字符串
transparentHugePageEnabled 已启用透明巨页的配置。 字符串

SysctlConfig

名称 说明
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 setting 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。 字符串
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串
{customized property} 字符串

AgentPoolUpgradeSettings

名称 说明
maxSurge 升级期间要添加的其他节点的计数或百分比。 如果为 空,则使用 AKS 默认值 字符串

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges kubernetes API 服务器的授权 IP 范围。 string[]
enablePrivateCluster 是否将群集创建为专用群集。 bool
privateDNSZone 专用群集的专用 DNS 区域模式。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 字符串
扩展器 “least-waste”
“most-pods”
'priority'
“random”
max-empty-bulk-delete 字符串
max-graceful-termination-sec 字符串
max-node-provision-time 字符串
max-total-unready-percentage 字符串
new-pod-scale-up-delay 字符串
ok-total-unready-count 字符串
scale-down-delay-after-add 字符串
scale-down-delay-after-delete 字符串
scale-down-delay-after-failure 字符串
scale-down-unneeded-time 字符串
scale-down-unready-time 字符串
scale-down-utilization-threshold 字符串
scan-interval 字符串
skip-nodes-with-local-storage 字符串
skip-nodes-with-system-pods 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
upgradeChannel 自动升级的升级通道。 'none'
“patch”
“rapid”
“stable”

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ContainerServiceLinuxProfile

名称 说明
adminUsername 用于 Linux VM 的管理员用户名。 字符串 (必需)

约束:
Pattern = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 ContainerServiceSshConfiguration (必需)

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 只要求指定一个密钥。 ContainerServiceSshPublicKey[] (必需的)

ContainerServiceSshPublicKey

名称 说明
keyData 用于通过 SSH 对 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式,带或不带标头。 字符串 (必需)

ContainerServiceNetworkProfile

名称 说明
dnsServiceIP 分配给 Kubernetes DNS 服务的 IP 地址。 它必须位于 serviceCidr 中指定的 Kubernetes 服务地址范围内。 字符串

约束:
Pattern = ^(?:(?: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 分配给 Docker 网桥网络的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围或 Kubernetes 服务地址范围重叠。 字符串

约束:
Pattern = ^([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”
“透明”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
outboundType 出站 (出口) 路由方法。 “loadBalancer”
“userDefinedRouting”
podCidr CIDR 表示法 IP 范围,使用 kubenet 时从其中分配 Pod IP。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ManagedClusterLoadBalancerProfile

名称 说明
allocatedOutboundPorts 每个 VM 的所需分配 SNAT 端口数。 允许的值必须介于 0 到 64000 之间, (包含) 。 默认值为 0,这会导致 Azure 动态分配端口。 int

约束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值必须介于 4 到 120 之间, (非独占) 。 默认值为 30 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPs 群集负载均衡器的所需托管出站 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 群集负载均衡器的所需出站 IP 前缀资源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名称 说明 Value
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名称 说明 Value
count Azure 为群集负载均衡器创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 100 之间, (非独占) 。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名称 说明
publicIPPrefixes 公共 IP 前缀资源的列表。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名称 说明
publicIPs 公共 IP 资源的列表。 ResourceReference[]

ManagedClusterPodIdentityProfile

名称 说明
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 用户分配的 Pod 标识设置。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 用户分配的 Pod 标识异常设置。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
标识 用户分配的标识的信息。 UserAssignedIdentity (必需)
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

UserAssignedIdentity

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ManagedClusterPodIdentityException

名称 说明
name Pod 标识异常的名称。 字符串 (必需)
命名空间 Pod 标识异常的命名空间。 字符串 (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

ManagedClusterServicePrincipalProfile

名称 说明
clientId 服务主体的 ID。 字符串 (必需)
secret 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterWindowsProfile

名称 说明
adminPassword 指定管理员帐户的密码。

最小长度: 8 个字符

最大长度: 123 个字符

复杂性要求: 需要满足以下 4 个条件中的 3 个
包含较低的字符
包含大写字符
具有数字
具有特殊字符 (正则表达式匹配 [\W_])

不允许的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!”
字符串
adminUsername 指定管理员帐户的名称。

限制: 不能以“.”结尾

不允许的值: “administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。

最小长度: 1 个字符

最大长度: 20 个字符
字符串 (必需)
LicenseType 用于 Windows VM 的 licenseType。 Windows_Server用于为 Windows VM 启用 Azure 混合用户权益。 “None”
“Windows_Server”

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 “Basic”
托管群集 SKU 的层。 “免费”
“付费”

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在 Azure 容器服务上使用 Jenkins 的 CI/CD (AKS)

部署到 Azure
容器使你可以轻松地持续生成和部署应用程序。 通过在 Azure 容器服务中使用 Kubernetes 协调这些容器的部署,可以实现可复制、可管理的容器群集。 通过设置持续生成来生成容器映像和业务流程,可以提高部署的速度和可靠性。
min.io Azure 网关

部署到 Azure
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API
具有 NAT 网关和应用程序网关的 AKS 群集

部署到 Azure
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,为入站连接部署应用程序网关。
创建专用 AKS 群集

部署到 Azure
此示例演示如何在虚拟网络中创建专用 AKS 群集以及 jumpbox 虚拟机。
创建具有公共 DNS 区域的专用 AKS 群集

部署到 Azure
此示例演示如何部署具有公共 DNS 区域的专用 AKS 群集。
(AKS) 部署托管 Kubernetes 群集

部署到 Azure
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络中。 此外,针对包含 AKS 群集的子网为所选服务主体分配网络参与者角色。
使用 AAD (AKS) 部署托管 Kubernetes 群集

部署到 Azure
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络和 Azure AD 整数中。 此外,针对包含 AKS 群集的子网为所选服务主体分配网络参与者角色。
为 Azure ML 部署 AKS 群集

部署到 Azure
此模板允许部署可附加到 Azure ML 的符合条目的 AKS 群集
Azure 容器服务 (AKS)

部署到 Azure
使用 Azure 容器服务 (AKS) 部署托管群集
Azure 容器服务 (AKS)

部署到 Azure
使用 Azure Linux 容器主机使用 Azure 容器服务 (AKS) 部署托管群集
使用 Helm (AKS) 的 Azure 容器服务

部署到 Azure
使用 Helm 使用 Azure 容器服务 (AKS) 部署托管群集
Azure Kubernetes 服务 (AKS)

部署到 Azure
通过 Azure Kubernetes 服务 (AKS) 部署托管 Kubernetes 群集
具有 应用程序网关 入口控制器的 AKS 群集

部署到 Azure
此示例演示如何使用 应用程序网关、应用程序网关 入口控制器、Azure 容器注册表、Log Analytics 和 密钥保管库 部署 AKS 群集

ARM 模板资源定义

可以使用面向以下操作部署 managedClusters 资源类型:

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

注解

有关可用加载项的信息,请参阅加载项、扩展和其他与 Azure Kubernetes 服务 集成

资源格式

若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2020-12-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "name": "Basic",
    "tier": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "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": "OS",
        "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",
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osType": "string",
        "podSubnetID": "string",
        "proximityPlacementGroupID": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "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"
    }
  }
}

属性值

managedClusters

名称 说明 Value
type 资源类型 “Microsoft.ContainerService/managedClusters”
apiVersion 资源 API 版本 '2020-12-01'
name 资源名称 字符串 (必需)

字符限制:1-63

有效字符:
字母数字、下划线字符和连字符。

以字母数字开头和结尾。
location 资源位置 字符串 (必需)
标记 资源标记 标记名称和值的字典。 请参阅 模板中的标记
sku 托管群集 SKU。 ManagedClusterSKU
标识 托管群集的标识(如果已配置)。 ManagedClusterIdentity
properties 托管群集的属性。 ManagedClusterProperties

ManagedClusterIdentity

名称 说明 Value
type 用于托管群集的标识类型。 类型“SystemAssigned”将在主组件中使用隐式创建的标识,并在代理节点MC_资源组中使用自动创建的用户分配标识。 类型“无”不会对托管群集使用 MSI,将改用服务主体。 “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 与托管群集关联的用户标识。 此标识将用于控制平面,并且只允许一个用户分配的标识。 用户标识字典密钥引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} Components1Umhcm8SchemasManagedclusteridentityProper...

Components1Umhcm8SchemasManagedclusteridentityProper...

此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置的配置文件。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池的属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置的配置文件。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 要用于启用静态加密的磁盘加密集的 ResourceId。 字符串
dnsPrefix 创建托管群集时指定的 DNS 前缀。 字符串
enablePodSecurityPolicy (弃用) 是否在预览版) (启用 Kubernetes Pod 安全策略。 此功能设置为在 2020 年 10 月 15 日删除。 有关详细信息,请参阅 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 创建托管群集时指定的 Kubernetes 版本。 字符串
linuxProfile 容器服务群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
networkProfile 网络配置的配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
podIdentityProfile 托管群集 Pod 标识的配置文件。 ManagedClusterPodIdentityProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
windowsProfile 容器服务群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID。 string[]
clientAppID 客户端 AAD 应用程序 ID。 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID 服务器 AAD 应用程序 ID。 字符串
serverAppSecret 服务器 AAD 应用程序机密。 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名称 说明
config 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
enabled 加载项是否已启用。 需要 bool ()

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 节点的可用性区域。 必须使用 VirtualMachineScaleSets AgentPoolType。 string[]
count ) 托管 docker 容器 (VM 的代理数。 对于用户池,允许的值必须介于 0 到 100 ((含) )和系统池的 1 到 100 (非独占) 范围内。 默认值为 1。 int
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 是否启用 EncryptionAtHost bool
enableNodePublicIP 为节点启用公共 IP bool
kubeletConfig KubeletConfig 指定代理节点上 kubelet 的配置。 KubeletConfig
kubeletDiskType KubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 目前允许一个值 OS,导致 Kubelet 使用 OS 磁盘获取数据。 'OS'
linuxOSConfig LinuxOSConfig 指定 Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
minCount 用于自动缩放的最小节点数 int
mode AgentPoolMode 表示代理池的模式 “System”
“User”
name 订阅和资源组上下文中代理池配置文件的唯一名称。 字符串 (必需)

约束:
模式 = ^[a-z][a-z0-9]{0,11}$
nodeLabels 代理池节点标签将在代理池中的所有节点上持久保存。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 创建托管群集时指定的业务流程协调程序的版本。 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于指定此主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 1023
osDiskType 要用于给定代理池中的计算机的 OS 磁盘类型。 允许的值为“临时”和“托管”。 如果未指定,则当 VM 支持临时 OS 并且缓存磁盘大于请求的 OSDiskSizeGB 时,默认为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 'Ephemeral'
'Managed'
osType 用于指定 os 类型的 OsType。 从 Linux 和 Windows 中进行选择。 默认为 Linux。 'Linux'
“Windows”
podSubnetID Pod SubnetID 指定 Pod 的 VNet 子网标识符。 字符串
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleSetEvictionPolicy 用于为现成虚拟机规模集指定逐出策略的 ScaleSetEvictionPolicy。 默认为 Delete。 “Deallocate”
'Delete'
scaleSetPriority 用于指定虚拟机规模集优先级的 ScaleSetPriority。 默认为常规。 'Regular'
“Spot”
spotMaxPrice SpotMaxPrice 用于指定你愿意以美元为单位支付的最高价格。 可能的值是大于零或 -1 的任何十进制值,指示默认价格是按需价格。 若要指定十进制值,请使用 json () 函数。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的代理池标记。 对象 (object)
类型 AgentPoolType 表示代理池的类型 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize 代理 VM 的大小。 “Standard_A1”
“Standard_A10”
“Standard_A11”
“Standard_A1_v2”
“Standard_A2”
“Standard_A2_v2”
“Standard_A2m_v2”
“Standard_A3”
“Standard_A4”
“Standard_A4_v2”
“Standard_A4m_v2”
“Standard_A5”
“Standard_A6”
“Standard_A7”
“Standard_A8”
“Standard_A8_v2”
“Standard_A8m_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_D16_v3”
“Standard_D16s_v3”
“Standard_D1_v2”
“Standard_D2”
“Standard_D2_v2”
“Standard_D2_v2_Promo”
“Standard_D2_v3”
“Standard_D2s_v3”
“Standard_D3”
“Standard_D32_v3”
“Standard_D32s_v3”
“Standard_D3_v2”
“Standard_D3_v2_Promo”
“Standard_D4”
“Standard_D4_v2”
“Standard_D4_v2_Promo”
“Standard_D4_v3”
“Standard_D4s_v3”
“Standard_D5_v2”
“Standard_D5_v2_Promo”
“Standard_D64_v3”
“Standard_D64s_v3”
“Standard_D8_v3”
“Standard_D8s_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_E16_v3”
“Standard_E16s_v3”
“Standard_E2_v3”
“Standard_E2s_v3”
“Standard_E32-16s_v3”
“Standard_E32-8s_v3”
“Standard_E32_v3”
“Standard_E32s_v3”
“Standard_E4_v3”
“Standard_E4s_v3”
“Standard_E64-16s_v3”
“Standard_E64-32s_v3”
“Standard_E64_v3”
“Standard_E64s_v3”
“Standard_E8_v3”
“Standard_E8s_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 的 VNet 子网标识符 字符串

KubeletConfig

名称 说明
allowedUnsafeSysctls 不安全 sysctls 或不安全 sysctl 模式的允许列表 (以 *) 结尾。 string[]
containerLogMaxFiles 一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 int

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如,在轮换容器日志文件之前为 10Mi) 。 int
cpuCfsQuota 为指定 CPU 限制的容器启用 CPU CFS 配额强制实施。 bool
cpuCfsQuotaPeriod 设置 CPU CFS 配额周期值。 字符串
cpuManagerPolicy 要使用的 CPU 管理器策略。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 自此起始终运行映像垃圾回收的磁盘使用量百分比。 int
imageGcLowThreshold 在此之前从不运行映像垃圾回收的磁盘使用量百分比。 int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 要使用的拓扑管理器策略。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB SwapFileSizeMB 指定将在每个节点上创建交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 透明巨页碎片整理配置。 字符串
transparentHugePageEnabled 已启用透明巨页的配置。 字符串

SysctlConfig

名称 说明
fsAioMaxNr Sysctl 设置 fs.aio-max-nr。 int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl setting 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 setting 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。 字符串
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串
{customized property} 字符串

AgentPoolUpgradeSettings

名称 说明
maxSurge 升级期间要添加的其他节点的计数或百分比。 如果为 空,则使用 AKS 默认值 字符串

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges kubernetes API 服务器的授权 IP 范围。 string[]
enablePrivateCluster 是否将群集创建为专用群集。 bool
privateDNSZone 专用群集的专用 DNS 区域模式。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 字符串
扩展器 “最小浪费”
“most-pods”
“priority”
“random”
max-empty-bulk-delete 字符串
max-graceful-termination-sec 字符串
max-node-provision-time 字符串
max-total-unready-percentage 字符串
new-pod-scale-up-delay 字符串
ok-total-unready-count 字符串
scale-down-delay-after-add 字符串
scale-down-delay-after-delete 字符串
scale-down-delay-after-failure 字符串
scale-down-unneeded-time 字符串
scale-down-unready-time 字符串
scale-down-utilization-threshold 字符串
scan-interval 字符串
skip-nodes-with-local-storage 字符串
skip-nodes-with-system-pods 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
upgradeChannel 自动升级的升级通道。 'none'
“patch”
“rapid”
“stable”

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ContainerServiceLinuxProfile

名称 说明
adminUsername 用于 Linux VM 的管理员用户名。 字符串 (必需)

约束:
Pattern = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 ContainerServiceSshConfiguration (必需)

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 只要求指定一个密钥。 ContainerServiceSshPublicKey[] (必需的)

ContainerServiceSshPublicKey

名称 说明
keyData 用于通过 SSH 对 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式,带或不带标头。 字符串 (必需)

ContainerServiceNetworkProfile

名称 说明
dnsServiceIP 分配给 Kubernetes DNS 服务的 IP 地址。 它必须位于 serviceCidr 中指定的 Kubernetes 服务地址范围内。 字符串

约束:
模式 = ^(?:(?: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 分配给 Docker 网桥网络的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围或 Kubernetes 服务地址范围重叠。 字符串

约束:
模式 = ^([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 CIDR 表示法 IP 范围,使用 kubenet 时从其中分配 Pod IP。 字符串

约束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ManagedClusterLoadBalancerProfile

名称 说明
allocatedOutboundPorts 每个 VM 分配的所需 SNAT 端口数。 允许的值必须在 0 到 64000 (包含) 的范围内。 默认值为 0,这会导致 Azure 动态分配端口。 int

约束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值必须在 4 到 120 (包含) 的范围内。 默认值为 30 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPs 群集负载均衡器的所需托管出站 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 群集负载均衡器的所需出站 IP 前缀资源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 群集负载均衡器所需的出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名称 说明 Value
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名称 说明 Value
count Azure 为群集负载均衡器创建/管理的所需出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名称 说明
publicIPPrefixes 公共 IP 前缀资源的列表。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名称 说明
publicIPs 公共 IP 资源的列表。 ResourceReference[]

ManagedClusterPodIdentityProfile

名称 说明
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 用户分配的 Pod 标识设置。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 用户分配的 Pod 标识异常设置。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
标识 用户分配的标识的信息。 UserAssignedIdentity (必需)
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

UserAssignedIdentity

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ManagedClusterPodIdentityException

名称 说明
name Pod 标识异常的名称。 字符串 (必需)
命名空间 Pod 标识异常的命名空间。 字符串 (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

ManagedClusterServicePrincipalProfile

名称 说明
clientId 服务主体的 ID。 字符串 (必需)
secret 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterWindowsProfile

名称 说明
adminPassword 指定管理员帐户的密码。

最小长度: 8 个字符

最大长度: 123 个字符

复杂性要求: 需要满足以下 4 个条件中的 3 个
包含较低的字符
包含大写字符
具有数字
具有特殊字符 (正则表达式匹配 [\W_])

不允许的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!”
字符串
adminUsername 指定管理员帐户的名称。

限制: 不能以“.”结尾

不允许的值: “administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。

最小长度: 1 个字符

最大长度: 20 个字符
字符串 (必需)
LicenseType 用于 Windows VM 的 licenseType。 Windows_Server用于为 Windows VM 启用 Azure 混合用户权益。 “None”
“Windows_Server”

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 “Basic”
托管群集 SKU 的层。 “免费”
“付费”

快速入门模板

以下快速入门模板部署此资源类型。

模板 说明
在 Azure 容器服务上使用 Jenkins 的 CI/CD (AKS)

部署到 Azure
容器使你可以轻松地持续生成和部署应用程序。 通过在 Azure 容器服务中使用 Kubernetes 协调这些容器的部署,可以实现可复制、可管理的容器群集。 通过设置持续生成来生成容器映像和业务流程,可以提高部署的速度和可靠性。
min.io Azure 网关

部署到 Azure
完全专用 min.io Azure 网关部署,以提供由 Blob 存储支持的 S3 兼容存储 API
具有 NAT 网关和应用程序网关的 AKS 群集

部署到 Azure
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,为入站连接部署应用程序网关。
创建专用 AKS 群集

部署到 Azure
此示例演示如何在虚拟网络中创建专用 AKS 群集以及 jumpbox 虚拟机。
创建具有公共 DNS 区域的专用 AKS 群集

部署到 Azure
此示例演示如何部署具有公共 DNS 区域的专用 AKS 群集。
(AKS) 部署托管 Kubernetes 群集

部署到 Azure
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络中。 此外,针对包含 AKS 群集的子网为所选服务主体分配网络参与者角色。
使用 AAD (AKS) 部署托管 Kubernetes 群集

部署到 Azure
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络和 Azure AD 整数中。 此外,针对包含 AKS 群集的子网为所选服务主体分配网络参与者角色。
为 Azure ML 部署 AKS 群集

部署到 Azure
此模板允许部署可附加到 Azure ML 的符合条目的 AKS 群集
Azure 容器服务 (AKS)

部署到 Azure
使用 Azure 容器服务 (AKS) 部署托管群集
Azure 容器服务 (AKS)

部署到 Azure
使用 Azure Linux 容器主机使用 Azure 容器服务 (AKS) 部署托管群集
使用 Helm (AKS) 的 Azure 容器服务

部署到 Azure
使用 Helm 使用 Azure 容器服务 (AKS) 部署托管群集
Azure Kubernetes 服务 (AKS)

部署到 Azure
通过 Azure Kubernetes 服务 (AKS) 部署托管 Kubernetes 群集
具有 应用程序网关 入口控制器的 AKS 群集

部署到 Azure
此示例演示如何使用 应用程序网关、应用程序网关 入口控制器、Azure 容器注册表、Log Analytics 和 密钥保管库 部署 AKS 群集

Terraform (AzAPI 提供程序) 资源定义

可以使用面向以下操作部署 managedClusters 资源类型:

  • 资源组

有关每个 API 版本中更改的属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2020-12-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    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 = "OS"
          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"
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osType = "string"
          podSubnetID = "string"
          proximityPlacementGroupID = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = "decimal-as-string"
          tags = {}
          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 = "Basic"
      tier = "string"
    }
  })
}

属性值

managedClusters

名称 说明 Value
type 资源类型 “Microsoft.ContainerService/managedClusters@2020-12-01”
name 资源名称 字符串 (必需)

字符限制:1-63

有效字符:
字母数字、下划线字符和连字符。

以字母数字开头和结尾。
location 资源位置 字符串 (必需)
parent_id 若要部署到资源组,请使用该资源组的 ID。 字符串 (必需)
标记 资源标记 标记名称和值的字典。
sku 托管群集 SKU。 ManagedClusterSKU
标识 托管群集的标识(如果已配置)。 ManagedClusterIdentity
properties 托管群集的属性。 ManagedClusterProperties

ManagedClusterIdentity

名称 说明 Value
type 用于托管群集的标识类型。 类型“SystemAssigned”将在主组件中使用隐式创建的标识,并在代理节点MC_资源组中使用自动创建的用户分配标识。 类型“无”不会对托管群集使用 MSI,将改用服务主体。 “SystemAssigned”
“UserAssigned”
identity_ids 与托管群集关联的用户标识。 此标识将用于控制平面,并且只允许一个用户分配的标识。 用户标识字典密钥引用将是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 用户标识 ID 数组。

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} Components1Umhcm8SchemasManagedclusteridentityProper...

Components1Umhcm8SchemasManagedclusteridentityProper...

此对象不包含在部署期间要设置的任何属性。 所有属性均为 ReadOnly。

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置的配置文件。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池的属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置的配置文件。 ManagedClusterAutoUpgradeProfile
diskEncryptionSetID 要用于启用静态加密的磁盘加密集的 ResourceId。 字符串
dnsPrefix 创建托管群集时指定的 DNS 前缀。 字符串
enablePodSecurityPolicy (弃用) 是否在预览版) (启用 Kubernetes Pod 安全策略。 此功能设置为在 2020 年 10 月 15 日删除。 有关详细信息,请参阅 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 创建托管群集时指定的 Kubernetes 版本。 字符串
linuxProfile 容器服务群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
networkProfile 网络配置的配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
podIdentityProfile 托管群集 Pod 标识的配置文件。 ManagedClusterPodIdentityProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
windowsProfile 容器服务群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID。 string[]
clientAppID 客户端 AAD 应用程序 ID。 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID 服务器 AAD 应用程序 ID。 字符串
serverAppSecret 服务器 AAD 应用程序机密。 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名称 说明
config 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
enabled 加载项是否已启用。 bool (必需)

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 节点的可用性区域。 必须使用 VirtualMachineScaleSets AgentPoolType。 string[]
count ) 托管 docker 容器 (VM 的代理数。 用户池的允许值必须在 0 到 100 ((包括) )范围内,系统池的) 范围为 1 到 100 (。 默认值为 1。 int
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 是否启用 EncryptionAtHost bool
enableNodePublicIP 为节点启用公共 IP bool
kubeletConfig KubeletConfig 指定代理节点上 kubelet 的配置。 KubeletConfig
kubeletDiskType KubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 目前允许一个值 OS,导致 Kubelet 使用 OS 磁盘获取数据。 “OS”
linuxOSConfig LinuxOSConfig 指定 Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的 Pod 的最大数目。 int
minCount 用于自动缩放的最小节点数 int
mode AgentPoolMode 表示代理池的模式 “System”
“User”
name 订阅和资源组上下文中代理池配置文件的唯一名称。 字符串 (必需)

约束:
Pattern = ^[a-z][a-z0-9]{0,11}$
nodeLabels 代理池节点标签将在代理池中的所有节点中持久保存。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 创建托管群集时指定的业务流程协调程序版本。 字符串
osDiskSizeGB OS 磁盘大小(GB)用于指定此主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 1023
osDiskType 要用于给定代理池中的计算机的 OS 磁盘类型。 允许的值为“临时”和“Managed”。 如果未指定,则当 VM 支持临时 OS 并且缓存磁盘大于请求的 OSDiskSizeGB 时,默认为“临时”。 否则,默认为“托管”。 创建后可能不会更改。 “临时”
“托管”
osType 用于指定 os 类型的 OsType。 从 Linux 和 Windows 中进行选择。 默认为 Linux。 “Linux”
“Windows”
podSubnetID Pod SubnetID 指定 Pod 的 VNet 子网标识符。 字符串
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleSetEvictionPolicy ScaleSetEvictionPolicy 用于为现成虚拟机规模集指定逐出策略。 默认为“删除”。 “Deallocate”
“Delete”
scaleSetPriority 用于指定虚拟机规模集优先级的 ScaleSetPriority。 默认为“常规”。 “常规”
“Spot”
spotMaxPrice SpotMaxPrice 用于指定您愿意以美元支付的最高价格。 可能的值是大于零或 -1 的任何十进制值,指示默认价格是按需的。 将十进制值指定为字符串。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的代理池标记。 对象 (object)
类型 AgentPoolType 表示代理池的类型 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize 代理 VM 的大小。 “Standard_A1”
“Standard_A10”
“Standard_A11”
“Standard_A1_v2”
“Standard_A2”
“Standard_A2_v2”
“Standard_A2m_v2”
“Standard_A3”
“Standard_A4”
“Standard_A4_v2”
“Standard_A4m_v2”
“Standard_A5”
“Standard_A6”
“Standard_A7”
“Standard_A8”
“Standard_A8_v2”
“Standard_A8m_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_D16_v3”
“Standard_D16s_v3”
“Standard_D1_v2”
“Standard_D2”
“Standard_D2_v2”
“Standard_D2_v2_Promo”
“Standard_D2_v3”
“Standard_D2s_v3”
“Standard_D3”
“Standard_D32_v3”
“Standard_D32s_v3”
“Standard_D3_v2”
“Standard_D3_v2_Promo”
“Standard_D4”
“Standard_D4_v2”
“Standard_D4_v2_Promo”
“Standard_D4_v3”
“Standard_D4s_v3”
“Standard_D5_v2”
“Standard_D5_v2_Promo”
“Standard_D64_v3”
“Standard_D64s_v3”
“Standard_D8_v3”
“Standard_D8s_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_E16_v3”
“Standard_E16s_v3”
“Standard_E2_v3”
“Standard_E2s_v3”
“Standard_E32-16s_v3”
“Standard_E32-8s_v3”
“Standard_E32_v3”
“Standard_E32s_v3”
“Standard_E4_v3”
“Standard_E4s_v3”
“Standard_E64-16s_v3”
“Standard_E64-32s_v3”
“Standard_E64_v3”
“Standard_E64s_v3”
“Standard_E8_v3”
“Standard_E8s_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 的 VNet 子网标识符 字符串

KubeletConfig

名称 说明
allowedUnsafeSysctls 不安全 sysctls 或不安全 sysctl 模式的允许列表 (以 *) 结尾。 string[]
containerLogMaxFiles 一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 int

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如,在轮换容器日志文件之前为 10Mi) 。 int
cpuCfsQuota 为指定 CPU 限制的容器启用 CPU CFS 配额强制实施。 bool
cpuCfsQuotaPeriod 设置 CPU CFS 配额周期值。 字符串
cpuManagerPolicy 要使用的 CPU 管理器策略。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 自此起始终运行映像垃圾回收的磁盘使用量百分比。 int
imageGcLowThreshold 在此之前从不运行映像垃圾回收的磁盘使用量百分比。 int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 要使用的拓扑管理器策略。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB SwapFileSizeMB 指定将在每个节点上创建交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 透明巨页碎片整理配置。 字符串
transparentHugePageEnabled 已启用透明巨页的配置。 字符串

SysctlConfig

名称 说明
fsAioMaxNr Sysctl 设置 fs.aio-max-nr。 int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl setting 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。 字符串
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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串
{customized property} 字符串

AgentPoolUpgradeSettings

名称 说明
maxSurge 升级期间要添加的其他节点的计数或百分比。 如果为 空,则使用 AKS 默认值 字符串

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges Kubernetes API 服务器的授权 IP 范围。 string[]
enablePrivateCluster 是否将群集创建为专用群集。 bool
privateDNSZone 专用群集的专用 dns 区域模式。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 字符串
扩展器 “最少浪费”
“most-pods”
“priority”
“random”
max-empty-bulk-delete 字符串
max-graceful-termination-sec 字符串
max-node-provision-time 字符串
max-total-unready-percentage 字符串
new-pod-scale-up-delay 字符串
ok-total-unready-count 字符串
scale-down-delay-after-add 字符串
scale-down-delay-after-delete 字符串
scale-down-delay-after-failure 字符串
scale-down-unneeded-time 字符串
scale-down-unready-time 字符串
scale-down-utilization-threshold 字符串
scan-interval 字符串
skip-nodes-with-local-storage 字符串
skip-nodes-with-system-pods 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
upgradeChannel 自动升级的升级通道。 “none”
“patch”
“快速”
“stable”

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

ComponentsQit0EtSchemasManagedclusterpropertiesPrope...

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ContainerServiceLinuxProfile

名称 说明
adminUsername 用于 Linux VM 的管理员用户名。 字符串 (必需)

约束:
模式 = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 ContainerServiceSshConfiguration (必需)

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 只要求指定一个键。 ContainerServiceSshPublicKey[] (必需)

ContainerServiceSshPublicKey

名称 说明
keyData 用于通过 SSH 对 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式,带或不带标头。 字符串 (必需)

ContainerServiceNetworkProfile

名称 说明
dnsServiceIP 分配给 Kubernetes DNS 服务的 IP 地址。 它必须在 serviceCidr 中指定的 Kubernetes 服务地址范围内。 字符串

约束:
Pattern = ^(?:(?: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 分配给 Docker 网桥网络的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围或 Kubernetes 服务地址范围重叠。 字符串

约束:
Pattern = ^([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”
“透明”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
outboundType 出站 (出口) 路由方法。 “loadBalancer”
“userDefinedRouting”
podCidr CIDR 表示法 IP 范围,使用 kubenet 时从其中分配 Pod IP。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ManagedClusterLoadBalancerProfile

名称 说明
allocatedOutboundPorts 每个 VM 的所需分配 SNAT 端口数。 允许的值必须介于 0 到 64000 之间, (包含) 。 默认值为 0,这会导致 Azure 动态分配端口。 int

约束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值必须介于 4 到 120 之间, (非独占) 。 默认值为 30 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPs 群集负载均衡器的所需托管出站 IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 群集负载均衡器的所需出站 IP 前缀资源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名称 说明 Value
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名称 说明 Value
count Azure 为群集负载均衡器创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 100 之间, (非独占) 。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名称 说明
publicIPPrefixes 公共 IP 前缀资源的列表。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名称 说明
publicIPs 公共 IP 资源的列表。 ResourceReference[]

ManagedClusterPodIdentityProfile

名称 说明
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 用户分配的 Pod 标识设置。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 用户分配的 Pod 标识异常设置。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
标识 用户分配的标识的信息。 需要 UserAssignedIdentity ()
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

UserAssignedIdentity

名称 说明
clientId 用户分配的标识的客户端 ID。 字符串
objectId 用户分配的标识的对象 ID。 字符串
ResourceId 用户分配的标识的资源 ID。 字符串

ManagedClusterPodIdentityException

名称 说明
name Pod 标识异常的名称。 字符串 (必需)
命名空间 Pod 标识异常的命名空间。 字符串 (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

ManagedClusterServicePrincipalProfile

名称 说明
clientId 服务主体的 ID。 字符串 (必需)
secret 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterWindowsProfile

名称 说明
adminPassword 指定管理员帐户的密码。

最小长度: 8 个字符

最大长度: 123 个字符

复杂性要求: 需要满足以下 4 个条件中的 3 个
包含较低字符
包含大写字符
有一个数字
具有一个特殊字符 (正则表达式匹配 [\W_])

不允许的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!”
字符串
adminUsername 指定管理员帐户的名称。

限制: 不能以“.”结尾

不允许的值: “administrator”, “admin”, “user”, “user1”, “test”, “user2”, “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 用于 Windows VM 的 licenseType。 Windows_Server用于为 Windows VM 启用 Azure 混合用户权益。 "None"
“Windows_Server”

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 "Basic"
托管群集 SKU 的层。 "Free"
"Paid"