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

Microsoft.ContainerService managedClusters

Bicep 资源定义

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

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

注解

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

资源格式

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2024-02-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    name: 'Base'
    tier: 'string'
  }
  extendedLocation: {
    name: 'string'
    type: 'EdgeZone'
  }
  identity: {
    delegatedResources: {
      {customized property}: {
        location: 'string'
        referralResource: 'string'
        resourceId: 'string'
        tenantId: 'string'
      }
    }
    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'
        ]
        capacityReservationGroupID: 'string'
        count: int
        creationData: {
          sourceResourceId: 'string'
        }
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableFIPS: bool
        enableNodePublicIP: bool
        enableUltraSSD: bool
        gpuInstanceProfile: 'string'
        hostGroupID: 'string'
        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'
        networkProfile: {
          allowedHostPorts: [
            {
              portEnd: int
              portStart: int
              protocol: 'string'
            }
          ]
          applicationSecurityGroups: [
            'string'
          ]
          nodePublicIPTags: [
            {
              ipTagType: 'string'
              tag: 'string'
            }
          ]
        }
        nodeLabels: {
          {customized property}: 'string'
        }
        nodePublicIPPrefixID: 'string'
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osSKU: 'string'
        osType: 'string'
        podSubnetID: 'string'
        powerState: {
          code: 'string'
        }
        proximityPlacementGroupID: 'string'
        scaleDownMode: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        type: 'string'
        upgradeSettings: {
          drainTimeoutInMinutes: int
          maxSurge: 'string'
          nodeSoakDurationInMinutes: int
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
        windowsProfile: {
          disableOutboundNat: bool
        }
        workloadRuntime: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      disableRunCommand: bool
      enablePrivateCluster: bool
      enablePrivateClusterPublicFQDN: 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: {
      nodeOSUpgradeChannel: 'string'
      upgradeChannel: 'string'
    }
    azureMonitorProfile: {
      metrics: {
        enabled: bool
        kubeStateMetrics: {
          metricAnnotationsAllowList: 'string'
          metricLabelsAllowlist: 'string'
        }
      }
    }
    disableLocalAccounts: bool
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    fqdnSubdomain: 'string'
    httpProxyConfig: {
      httpProxy: 'string'
      httpsProxy: 'string'
      noProxy: [
        'string'
      ]
      trustedCa: 'string'
    }
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    ingressProfile: {
      webAppRouting: {
        dnsZoneResourceIds: [
          'string'
        ]
        enabled: bool
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    metricsProfile: {
      costAnalysis: {
        enabled: bool
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      ipFamilies: [
        'string'
      ]
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        backendPoolType: 'string'
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        enableMultipleStandardLoadBalancers: bool
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
          countIPv6: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      natGatewayProfile: {
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPProfile: {
          count: int
        }
      }
      networkDataplane: 'string'
      networkMode: 'string'
      networkPlugin: 'string'
      networkPluginMode: 'overlay'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      podCidrs: [
        'string'
      ]
      serviceCidr: 'string'
      serviceCidrs: [
        'string'
      ]
    }
    nodeResourceGroup: 'string'
    oidcIssuerProfile: {
      enabled: bool
    }
    podIdentityProfile: {
      allowNetworkPluginKubenet: bool
      enabled: bool
      userAssignedIdentities: [
        {
          bindingSelector: 'string'
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    privateLinkResources: [
      {
        groupId: 'string'
        id: 'string'
        name: 'string'
        requiredMembers: [
          'string'
        ]
        type: 'string'
      }
    ]
    publicNetworkAccess: 'string'
    securityProfile: {
      azureKeyVaultKms: {
        enabled: bool
        keyId: 'string'
        keyVaultNetworkAccess: 'string'
        keyVaultResourceId: 'string'
      }
      defender: {
        logAnalyticsWorkspaceResourceId: 'string'
        securityMonitoring: {
          enabled: bool
        }
      }
      imageCleaner: {
        enabled: bool
        intervalHours: int
      }
      workloadIdentity: {
        enabled: bool
      }
    }
    serviceMeshProfile: {
      istio: {
        certificateAuthority: {
          plugin: {
            certChainObjectName: 'string'
            certObjectName: 'string'
            keyObjectName: 'string'
            keyVaultId: 'string'
            rootCertObjectName: 'string'
          }
        }
        components: {
          egressGateways: [
            {
              enabled: bool
            }
          ]
          ingressGateways: [
            {
              enabled: bool
              mode: 'string'
            }
          ]
        }
        revisions: [
          'string'
        ]
      }
      mode: 'string'
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    storageProfile: {
      blobCSIDriver: {
        enabled: bool
      }
      diskCSIDriver: {
        enabled: bool
      }
      fileCSIDriver: {
        enabled: bool
      }
      snapshotController: {
        enabled: bool
      }
    }
    supportPlan: 'string'
    upgradeSettings: {
      overrideSettings: {
        forceUpgrade: bool
        until: 'string'
      }
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      enableCSIProxy: bool
      gmsaProfile: {
        dnsServer: 'string'
        enabled: bool
        rootDomainName: 'string'
      }
      licenseType: 'string'
    }
    workloadAutoScalerProfile: {
      keda: {
        enabled: bool
      }
      verticalPodAutoscaler: {
        enabled: bool
      }
    }
  }
}

属性值

managedClusters

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

字符限制:1-63

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

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

ExtendedLocation

名称 说明
name 扩展位置的名称。 字符串
type 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

名称 说明
delegatedResources 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委托标识资源。 仅限内部使用。 DelegatedResources
类型 有关详细信息,请参阅 在 AKS 中使用托管标识 “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 密钥必须是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 ManagedClusterIdentityUserAssignedIdentities

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

名称 说明
location 源资源位置 - 仅限内部使用。 字符串
referralResource 引荐委派的委派 ID (可选) - 仅限内部使用。 字符串
ResourceId 委派资源的 ARM 资源 ID - 仅限内部使用。 字符串
tenantId 委托资源的租户 ID - 仅限内部使用。 字符串

约束:
最小长度 = 36
最大长度 = 36
模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 用于监视托管群集的 Azure Monitor 加载项配置文件。 ManagedClusterAzureMonitorProfile
disableLocalAccounts 如果设置为 true,将为此群集禁用获取静态凭据。 这只能用于已启用 AAD 的托管群集。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 其格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此内容。 字符串
enablePodSecurityPolicy (弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此状态。 字符串
httpProxyConfig 使用 HTTP 代理服务器预配群集的配置。 ManagedClusterHttpProxyConfig
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
ingressProfile 托管群集的入口配置文件。 ManagedClusterIngressProfile
kubernetesVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 使用同一 {major.minor} 创建群集后, (例如 1.14.x -} 1.14) 更新群集,即使有更新的修补程序版本可用,也不会触发升级。 升级受支持的 AKS 群集时,不能跳过 Kubernetes 次要版本。 所有升级都必须按主版本号依次执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许 1.14.x -} 1.16.x。 有关更多详细信息 ,请参阅升级 AKS 群集 字符串
linuxProfile 托管群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
metricsProfile 可选的群集指标配置。 ManagedClusterMetricsProfile
networkProfile 网络配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的更多详细信息,请参阅使用 AAD Pod 标识。 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝 AKS 的公共网络访问 “Disabled”
“已启用”
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 “AKSLongTermSupport”
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID 的列表。 string[]
clientAppID (已弃用) 客户端 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID (已弃用) 服务器 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
serverAppSecret (已弃用) 服务器 AAD 应用程序机密。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此项。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 docker 容器 (VM 的代理数。 对于用户池,允许的值必须介于 0 到 1000 ((含) )范围内,系统池的) 范围为 1 到 1000 (( 含) )。 默认值为 1。 int
creationData 如果将使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 只有某些 VM 大小和某些 Azure 区域才支持此功能。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能要求节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
hostGroupID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机 字符串
kubeletConfig 代理池节点上的 Kubelet 配置。 KubeletConfig
kubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 'OS'
“Temporary”
linuxOSConfig Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
minCount 用于自动缩放的最小节点数 int
mode 一个群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

约束:
模式 = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeLabels 要跨代理池中所有节点持久保存的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 创建群集后,使用同一 {major.minor} 更新群集 (例如 1.14.x -} 1.14) ,即使有更新的修补程序版本可用,也不会触发升级。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本的主要版本必须与控制平面相同。 节点池的次要版本必须在控制平面版本的两个次要版本范围内。 节点池版本不能大于控制平面版本。 有关详细信息 ,请参阅升级节点池 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于指定主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS 'Ephemeral'
'Managed'
osSKU 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 时,默认值为 Windows2019;如果 OSType 为 Windows,则当 Kubernetes >= 1.25 时,默认值为 Windows 2022。 “AzureLinux”
'CBLMariner'
'Ubuntu'
“Windows2019”
“Windows2022”
osType 操作系统类型。 默认值为 Linux。 'Linux'
“Windows”
podSubnetID 如果省略,则会在节点子网上静态分配 Pod IP (有关) 的更多详细信息,请参阅 vnetSubnetID。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
powerState 首次创建代理池时,它最初处于运行状态。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,并且不会产生计费费用。 仅当代理池处于“正在运行”且预配状态为“成功”时,才能停止该代理池 PowerState
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleDownMode 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 “Deallocate”
'Delete'
scaleSetEvictionPolicy 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 “Deallocate”
'Delete'
scaleSetPriority 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 'Regular'
“Spot”
spotMaxPrice 可能的值是大于零或 -1 的任何十进制值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json () 函数。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源 (内存、CPU 等) Pod 可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定此项,则会生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 “OCIContainer”
“WasmWasi”

CreationData

名称 说明
sourceResourceId 这是要用于创建目标对象的源对象的 ARM ID。 字符串

KubeletConfig

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

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如轮换容器日志文件前的 10Mi) 。 int
cpuCfsQuota 默认值为 true。 bool
cpuCfsQuotaPeriod 默认值为“100ms”。 有效值是具有可选小数和单位后缀的十进制数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 字符串
cpuManagerPolicy 默认值为“none”。 有关详细信息 ,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% int
imageGcLowThreshold 此设置不能高于 imageGcHighThreshold。 默认值为 80% int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页 字符串
transparentHugePageEnabled 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页 字符串

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 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

约束:
最小值 = 10
最大值 = 90
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

约束:
最小值 = 65536
最大值 = 524288
netNetfilterNfConntrackMax Sysctl 设置net.netfilter.nf_conntrack_max。 int

约束:
最小值 = 131072
最大值 = 2097152
vmMaxMapCount Sysctl 设置 vm.max_map_count。 int
vmSwappiness Sysctl 设置 vm.swappiness。 int
vmVfsCachePressure Sysctl 设置vm.vfs_cache_pressure。 int

AgentPoolNetworkProfile

名称 说明
allowedHostPorts 允许访问的端口范围。 允许指定的范围重叠。 PortRange[]
applicationSecurityGroups 创建代理池时将关联的应用程序安全组的 ID。 string[]
nodePublicIPTags 实例级公共 IP 的 IPTag。 IPTag[]

PortRange

名称 说明
预示 着 范围中包含的最大端口。 其范围为 1 到 65535,并且大于或等于 portStart。 int

约束:
最小值 = 1
最大值 = 65535
portStart 范围中包含的最小端口。 其范围应为 1 到 65535,并且小于或等于 portEnd。 int

约束:
最小值 = 1
最大值 = 65535
protocol 端口的网络协议。 “TCP”
“UDP”

IPTag

名称 说明
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

名称 说明
code 指示群集是正在运行还是已停止 “正在运行”
“已停止”

AgentPoolUpgradeSettings

名称 说明
drainTimeoutInMinutes ) 等待 Pod 逐出和每个节点正常终止的时间 (以分钟为单位。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 int

约束:
最小值 = 1
最大值 = 1440
maxSurge 这可以设置为整数 (例如“5”) 或百分比 (例如“50%”) 。 如果指定了百分比,则表示升级时代理池总大小的百分比。 对于百分比,将小数点节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息(包括最佳做法),请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字符串
nodeSoakDurationInMinutes ) 排空节点后、重新映像并移动到下一个节点之前等待 (以分钟为单位的时间量。 如果未指定,则默认值为 0 分钟。 int

约束:
最小值 = 0
最大值 = 30

AgentPoolWindowsProfile

名称 说明
disableOutboundNat 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权的 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 有效值为“true”和“false” 字符串
扩展器 如果未指定,则默认值为“random”。 有关详细信息 ,请参阅扩展器 “最小浪费”
“most-pods”
“priority”
“random”
max-empty-bulk-delete 默认值为 10。 字符串
max-graceful-termination-sec 默认为 600。 字符串
max-node-provision-time 默认值为“15m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
max-total-unready-percentage 默认值为 45。 最大值为 100,最小值为 0。 字符串
new-pod-scale-up-delay 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s''表示秒,'m'表示分钟,'h'表示小时,等等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是秒数的整数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 节点上 OS 的更新方式。 默认值为 NodeImage。 “NodeImage”
“None”
“非托管”
upgradeChannel 有关详细信息 ,请参阅设置 AKS 群集自动升级通道 “node-image”
'none'
“patch”
“rapid”
“stable”

ManagedClusterAzureMonitorProfile

名称 说明
指标 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现成的 Kubernetes 基础结构指标以发送到 Azure Monitor 工作区,并为自定义目标配置其他抓取。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileMetrics

名称 说明
enabled 是启用或禁用用于 Prometheus 监视的 Azure 托管 Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 需要 bool ()
kubeStateMetrics Azure Managed Prometheus 加载项的 Kube State Metrics 配置文件。 这些可选设置适用于随加载项一起部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表 (示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表 (示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串

ManagedClusterHttpProxyConfig

名称 说明
httpProxy 要使用的 HTTP 代理服务器终结点。 字符串
httpsProxy 要使用的 HTTPS 代理服务器终结点。 字符串
noProxy 不应通过代理的终结点。 string[]
trustedCa 用于连接到代理服务器的替代 CA 证书。 字符串

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的应用路由设置。 有关此功能的概述和载入指南,请参阅 /azure/aks/app-routing?tabs=default%2Cdeploy-app-default。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与应用程序路由加载项关联的 DNS 区域的资源 ID。 仅在启用应用程序路由加载项时使用。 公共和专用 DNS 区域可以位于不同的资源组中,但所有公共 DNS 区域必须位于同一资源组中,并且所有专用 DNS 区域必须位于同一资源组中。 string[]

约束:
最大长度 = 5
enabled 是否启用应用程序路由加载项。 bool

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 ContainerServiceSshPublicKey[] (必需的)

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

名称 说明
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名称 说明
enabled 必须将托管群集 sku.tier 设置为“标准”或“高级”才能启用此功能。 启用此选项会将 Kubernetes 命名空间和部署详细信息添加到Azure 门户中的成本分析视图中。 如果未指定,则默认值为 false。 有关详细信息,请参阅 aka.ms/aks/docs/cost-analysis。 bool

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]?)$
ipFamilies IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 包含任意项的字符串数组:
“IPv4”
“IPv6”
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅Azure 负载均衡器 SKU。 “basic”
“standard”
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 不是“azure”,则无法指定此值。 “bridge”
“透明”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
'none'
networkPluginMode 网络插件应使用的模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
outboundType 这只能在群集创建时设置,以后不能更改。 有关详细信息 ,请参阅出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“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]))?$
podCidrs 单堆栈网络应有一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 string[]
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 单堆栈网络需要一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 它们不得与任何子网 IP 范围重叠。 string[]

ManagedClusterLoadBalancerProfile

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

约束:
最小值 = 0
最大值 = 64000
backendPoolType 托管入站负载均衡器 BackendPool 的类型。 “NodeIP”
“NodeIPConfiguration”
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
enableMultipleStandardLoadBalancers 是否为每个 AKS 群集启用多个标准负载均衡器。 bool
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 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100
countIPv6 Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 对于单堆栈,默认值为 0,对于双堆栈,默认值为 1。 int

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterNATGatewayProfile

名称 说明
effectiveOutboundIPs 群集 NAT 网关的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值在 4 到 120 之间, (非独占) 。 默认值为 4 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 群集 NAT 网关的托管出站 IP 资源的配置文件。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名称 说明 Value
count Azure 创建/管理的出站 IP 的所需数量。 允许的值必须介于 1 到 16 之间, (包含) 。 默认值为 1。 int

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

ManagedClusterOidcIssuerProfile

名称 说明
enabled 是否启用了 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

名称 说明
allowNetworkPluginKubenet 默认情况下,由于 AAD Pod 标识的安全相关特性和 IP 欺骗的风险,默认情况下禁用在 Kubenet 中运行。 有关详细信息 ,请参阅将 Kubenet 网络插件与 AAD Pod 标识配合使用 bool
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 在群集中使用的 Pod 标识。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 允许的 Pod 标识例外。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
标识 用户分配的标识详细信息。 UserAssignedIdentity (必需)
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

名称 说明
groupId 资源的组 ID。 string
id 专用链接资源的 ID。 字符串
name 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

ManagedClusterSecurityProfile

名称 说明
azureKeyVaultKms Azure 密钥保管库安全配置文件的密钥管理服务设置。 AzureKeyVaultKms
defender Microsoft Defender安全配置文件的设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
workloadIdentity 安全配置文件的工作负载标识设置。 工作负载标识使 Kubernetes 应用程序能够通过 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名称 说明
enabled 是否启用 Azure 密钥保管库密钥管理服务。 默认值为 false。 bool
keyId Azure 密钥保管库密钥的标识符。 有关更多详细信息 ,请参阅密钥标识符格式 。 启用 Azure 密钥保管库密钥管理服务后,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure 密钥保管库密钥管理服务时,将 字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 表示密钥保管库允许从所有网络进行公共访问。 Private 表示密钥保管库禁用公共访问并启用专用链接。 默认值为 Public “Private”
'Public'
keyVaultResourceId 密钥保管库的资源 ID。 当 keyVaultNetworkAccess 为 Private时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess 为 Public时,将字段留空。 字符串

ManagedClusterSecurityProfileDefender

名称 说明
logAnalyticsWorkspaceResourceId 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender后,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender时,将字段留空。 字符串
securityMonitoring Microsoft Defender安全配置文件的云设置的威胁检测。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名称 说明
enabled 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

名称 说明
enabled 是否在 AKS 群集上启用映像清理器。 bool
intervalHours 图像清理器扫描间隔(以小时为单位)。 int

ManagedClusterSecurityProfileWorkloadIdentity

名称 说明
enabled 是否启用工作负载标识。 bool

ServiceMeshProfile

名称 说明
istio Istio 服务网格配置。 IstioServiceMesh
mode 服务网格的模式。 'Disabled'
需要“Istio” ()

IstioServiceMesh

名称 说明
certificateAuthority Istio Service Mesh 证书颁发机构 (CA) 配置。 目前,我们仅支持插件证书,如此处所述 https://aka.ms/asm-plugin-ca IstioCertificateAuthority
components Istio 组件配置。 IstioComponents
修改 Istio 控制平面的修订列表。 升级未进行时,这保留一个值。 当 Canary 升级正在进行时,这只能包含两个连续值。 有关详细信息,请参阅:/azure/aks/istio-upgrade string[]

约束:
最大长度 = 2

IstioCertificateAuthority

名称 说明
plugin 服务网格的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名称 说明
certChainObjectName Azure 密钥保管库中的证书链对象名称。 字符串
certObjectName Azure 密钥保管库中的中间证书对象名称。 字符串
keyObjectName Azure 密钥保管库 中的中间证书私钥对象名称。 字符串
keyVaultId 密钥保管库的资源 ID。 字符串
rootCertObjectName Azure 密钥保管库中的根证书对象名称。 字符串

IstioComponents

名称 说明
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 需要 bool ()

IstioIngressGateway

名称 说明
enabled 是否启用入口网关。 需要 bool ()
mode 入口网关的模式。 'External'
需要“内部” ()

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

名称 说明
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名称 说明
enabled 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名称 说明
enabled 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名称 说明
enabled 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名称 说明
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名称 说明
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 请谨慎启用此选项。 bool
until 直到替代生效。 请注意,这仅与升级的开始时间匹配,并且当升级开始后,即使 until 随着升级的继续而过期,有效性也不会更改。 默认情况下不设置此字段。 必须设置它才能使替代生效。 字符串

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 个字符
字符串 (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
LicenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 “None”
“Windows_Server”

WindowsGmsaProfile

名称 说明
dnsServer 指定 Windows gMSA 的 DNS 服务器。

如果在 vnet 中配置了用于创建托管群集的 DNS 服务器,请将其设置为空。
字符串
enabled 指定是否在托管群集中启用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根域名。

如果在 vnet 中配置了用于创建托管群集的 DNS 服务器,请将其设置为空。
字符串

ManagedClusterWorkloadAutoScalerProfile

名称 说明
keda KEDA (Kubernetes 事件驱动的自动缩放) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler VPA (垂直 Pod 自动缩放程序) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名称 说明
enabled 是否启用 KEDA。 需要 bool ()

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
enabled 是否启用 VPA。 默认值为 false。 需要 bool ()

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 'Base'
如果未指定,则默认值为“Free”。 有关更多详细信息,请参阅 AKS 定价层 “免费”
“Premium”
'Standard'

快速入门模板

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

模板 说明
在 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": "2024-02-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "name": "Base",
    "tier": "string"
  },
  "extendedLocation": {
    "name": "string",
    "type": "EdgeZone"
  },
  "identity": {
    "delegatedResources": {
      "{customized property}": {
        "location": "string",
        "referralResource": "string",
        "resourceId": "string",
        "tenantId": "string"
      }
    },
    "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" ],
        "capacityReservationGroupID": "string",
        "count": "int",
        "creationData": {
          "sourceResourceId": "string"
        },
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableFIPS": "bool",
        "enableNodePublicIP": "bool",
        "enableUltraSSD": "bool",
        "gpuInstanceProfile": "string",
        "hostGroupID": "string",
        "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",
        "networkProfile": {
          "allowedHostPorts": [
            {
              "portEnd": "int",
              "portStart": "int",
              "protocol": "string"
            }
          ],
          "applicationSecurityGroups": [ "string" ],
          "nodePublicIPTags": [
            {
              "ipTagType": "string",
              "tag": "string"
            }
          ]
        },
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodePublicIPPrefixID": "string",
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osSKU": "string",
        "osType": "string",
        "podSubnetID": "string",
        "powerState": {
          "code": "string"
        },
        "proximityPlacementGroupID": "string",
        "scaleDownMode": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "type": "string",
        "upgradeSettings": {
          "drainTimeoutInMinutes": "int",
          "maxSurge": "string",
          "nodeSoakDurationInMinutes": "int"
        },
        "vmSize": "string",
        "vnetSubnetID": "string",
        "windowsProfile": {
          "disableOutboundNat": "bool"
        },
        "workloadRuntime": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "disableRunCommand": "bool",
      "enablePrivateCluster": "bool",
      "enablePrivateClusterPublicFQDN": "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": {
      "nodeOSUpgradeChannel": "string",
      "upgradeChannel": "string"
    },
    "azureMonitorProfile": {
      "metrics": {
        "enabled": "bool",
        "kubeStateMetrics": {
          "metricAnnotationsAllowList": "string",
          "metricLabelsAllowlist": "string"
        }
      }
    },
    "disableLocalAccounts": "bool",
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "fqdnSubdomain": "string",
    "httpProxyConfig": {
      "httpProxy": "string",
      "httpsProxy": "string",
      "noProxy": [ "string" ],
      "trustedCa": "string"
    },
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "ingressProfile": {
      "webAppRouting": {
        "dnsZoneResourceIds": [ "string" ],
        "enabled": "bool"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "metricsProfile": {
      "costAnalysis": {
        "enabled": "bool"
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "ipFamilies": [ "string" ],
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "backendPoolType": "string",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "enableMultipleStandardLoadBalancers": "bool",
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int",
          "countIPv6": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "natGatewayProfile": {
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPProfile": {
          "count": "int"
        }
      },
      "networkDataplane": "string",
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPluginMode": "overlay",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "podCidrs": [ "string" ],
      "serviceCidr": "string",
      "serviceCidrs": [ "string" ]
    },
    "nodeResourceGroup": "string",
    "oidcIssuerProfile": {
      "enabled": "bool"
    },
    "podIdentityProfile": {
      "allowNetworkPluginKubenet": "bool",
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "bindingSelector": "string",
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "privateLinkResources": [
      {
        "groupId": "string",
        "id": "string",
        "name": "string",
        "requiredMembers": [ "string" ],
        "type": "string"
      }
    ],
    "publicNetworkAccess": "string",
    "securityProfile": {
      "azureKeyVaultKms": {
        "enabled": "bool",
        "keyId": "string",
        "keyVaultNetworkAccess": "string",
        "keyVaultResourceId": "string"
      },
      "defender": {
        "logAnalyticsWorkspaceResourceId": "string",
        "securityMonitoring": {
          "enabled": "bool"
        }
      },
      "imageCleaner": {
        "enabled": "bool",
        "intervalHours": "int"
      },
      "workloadIdentity": {
        "enabled": "bool"
      }
    },
    "serviceMeshProfile": {
      "istio": {
        "certificateAuthority": {
          "plugin": {
            "certChainObjectName": "string",
            "certObjectName": "string",
            "keyObjectName": "string",
            "keyVaultId": "string",
            "rootCertObjectName": "string"
          }
        },
        "components": {
          "egressGateways": [
            {
              "enabled": "bool"
            }
          ],
          "ingressGateways": [
            {
              "enabled": "bool",
              "mode": "string"
            }
          ]
        },
        "revisions": [ "string" ]
      },
      "mode": "string"
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "storageProfile": {
      "blobCSIDriver": {
        "enabled": "bool"
      },
      "diskCSIDriver": {
        "enabled": "bool"
      },
      "fileCSIDriver": {
        "enabled": "bool"
      },
      "snapshotController": {
        "enabled": "bool"
      }
    },
    "supportPlan": "string",
    "upgradeSettings": {
      "overrideSettings": {
        "forceUpgrade": "bool",
        "until": "string"
      }
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "enableCSIProxy": "bool",
      "gmsaProfile": {
        "dnsServer": "string",
        "enabled": "bool",
        "rootDomainName": "string"
      },
      "licenseType": "string"
    },
    "workloadAutoScalerProfile": {
      "keda": {
        "enabled": "bool"
      },
      "verticalPodAutoscaler": {
        "enabled": "bool"
      }
    }
  }
}

属性值

managedClusters

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

字符限制:1-63

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

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

ExtendedLocation

名称 说明
name 扩展位置的名称。 字符串
type 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

名称 说明
delegatedResources 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委托标识资源。 仅限内部使用。 DelegatedResources
类型 有关详细信息,请参阅 在 AKS 中使用托管标识 “None”
“SystemAssigned”
“UserAssigned”
userAssignedIdentities 密钥必须是 ARM 资源 ID,格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 ManagedClusterIdentityUserAssignedIdentities

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

名称 说明
location 源资源位置 - 仅限内部使用。 字符串
referralResource 引荐委派的委派 ID (可选) - 仅限内部使用。 字符串
ResourceId 委派资源的 ARM 资源 ID - 仅限内部使用。 字符串
tenantId 委托资源的租户 ID - 仅限内部使用。 字符串

约束:
最小长度 = 36
最大长度 = 36
模式 = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 用于监视托管群集的 Azure Monitor 加载项配置文件。 ManagedClusterAzureMonitorProfile
disableLocalAccounts 如果设置为 true,将为此群集禁用获取静态凭据。 这只能用于已启用 AAD 的托管群集。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 其格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此内容。 字符串
enablePodSecurityPolicy (弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此内容。 字符串
httpProxyConfig 用于使用 HTTP 代理服务器预配群集的配置。 ManagedClusterHttpProxyConfig
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
ingressProfile 托管群集的入口配置文件。 ManagedClusterIngressProfile
kubernetesVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 创建群集后,使用同一 {major.minor} 更新群集 (例如 1.14.x -} 1.14) ,即使有更新的修补程序版本可用,也不会触发升级。 升级受支持的 AKS 群集时,不能跳过 Kubernetes 次要版本。 所有升级都必须按主版本号依次执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许 1.14.x -} 1.16.x。 有关更多详细信息 ,请参阅升级 AKS 群集 字符串
linuxProfile 托管群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
metricsProfile 可选的群集指标配置。 ManagedClusterMetricsProfile
networkProfile 网络配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的更多详细信息,请参阅使用 AAD Pod 标识。 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝对 AKS 的公共网络访问 'Disabled'
'Enabled'
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集的服务主体标识的信息,该标识用于操作 Azure API。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 'AKSLongTermSupport'
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID 的列表。 string[]
clientAppID (已弃用) 客户端 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID (已弃用) 服务器 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
serverAppSecret (已弃用) 服务器 AAD 应用程序机密。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此项。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 docker 容器 (VM 的代理数。 对于用户池,允许的值必须介于 0 到 1000 ((含) )范围内,系统池的) 范围为 1 到 1000 (( 含) )。 默认值为 1。 int
creationData 如果将使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 只有某些 VM 大小和某些 Azure 区域才支持此功能。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能要求节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
hostGroupID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机 字符串
kubeletConfig 代理池节点上的 Kubelet 配置。 KubeletConfig
kubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 'OS'
“Temporary”
linuxOSConfig Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
minCount 用于自动缩放的最小节点数 int
mode 一个群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

约束:
模式 = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeLabels 要跨代理池中所有节点持久保存的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 创建群集后,使用同一 {major.minor} 更新群集 (例如 1.14.x -} 1.14) ,即使有更新的修补程序版本可用,也不会触发升级。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本的主要版本必须与控制平面相同。 节点池的次要版本必须在控制平面版本的两个次要版本范围内。 节点池版本不能大于控制平面版本。 有关详细信息 ,请参阅升级节点池 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于指定主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS 'Ephemeral'
'Managed'
osSKU 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 时,默认值为 Windows2019;如果 OSType 为 Windows,则当 Kubernetes >= 1.25 时,默认值为 Windows 2022。 “AzureLinux”
'CBLMariner'
'Ubuntu'
“Windows2019”
“Windows2022”
osType 操作系统类型。 默认值为 Linux。 'Linux'
“Windows”
podSubnetID 如果省略,则会在节点子网上静态分配 Pod IP (有关) 的更多详细信息,请参阅 vnetSubnetID。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
powerState 首次创建代理池时,它最初处于运行状态。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,并且不会产生计费费用。 仅当代理池处于“正在运行”且预配状态为“成功”时,才能停止该代理池 PowerState
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleDownMode 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 “Deallocate”
'Delete'
scaleSetEvictionPolicy 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 “Deallocate”
“Delete”
scaleSetPriority 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 “常规”
“Spot”
spotMaxPrice 可能的值是大于零或 -1 的任何十进制值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json () 函数。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源不足 (内存、cpu 等) Pod 可能无法正确运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定此项,则会生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 “OCIContainer”
“WasmWasi”

CreationData

名称 说明
sourceResourceId 这是要用于创建目标对象的源对象的 ARM ID。 字符串

KubeletConfig

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

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如轮换容器日志文件前的 10Mi) 。 int
cpuCfsQuota 默认值为 true。 bool
cpuCfsQuotaPeriod 默认值为“100ms”。 有效值是具有可选小数和单位后缀的十进制数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 字符串
cpuManagerPolicy 默认值为“none”。 有关详细信息 ,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% int
imageGcLowThreshold 此设置不能高于 imageGcHighThreshold。 默认值为 80% int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页 字符串
transparentHugePageEnabled 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页 字符串

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 设置 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

约束:
最小值 = 10
最大值 = 90
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

约束:
最小值 = 65536
最大值 = 524288
netNetfilterNfConntrackMax Sysctl 设置net.netfilter.nf_conntrack_max。 int

约束:
最小值 = 131072
最大值 = 2097152
vmMaxMapCount Sysctl 设置vm.max_map_count。 int
vmSwappiness Sysctl 设置 vm.swappiness。 int
vmVfsCachePressure Sysctl 设置vm.vfs_cache_pressure。 int

AgentPoolNetworkProfile

名称 说明
allowedHostPorts 允许访问的端口范围。 允许指定的范围重叠。 PortRange[]
applicationSecurityGroups 创建代理池时将关联的应用程序安全组的 ID。 string[]
nodePublicIPTags 实例级公共 IP 的 IPTag。 IPTag[]

PortRange

名称 说明
预示 着 范围中包含的最大端口。 其范围为 1 到 65535,并且大于或等于 portStart。 int

约束:
最小值 = 1
最大值 = 65535
portStart 范围中包含的最小端口。 其范围应为 1 到 65535,并且小于或等于 portEnd。 int

约束:
最小值 = 1
最大值 = 65535
protocol 端口的网络协议。 “TCP”
“UDP”

IPTag

名称 说明
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

名称 说明
code 指示群集是正在运行还是已停止 “正在运行”
“已停止”

AgentPoolUpgradeSettings

名称 说明
drainTimeoutInMinutes ) 等待 Pod 逐出和每个节点正常终止的时间 (以分钟为单位。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 int

约束:
最小值 = 1
最大值 = 1440
maxSurge 这可以设置为整数 (例如“5”) 或百分比 (例如“50%”) 。 如果指定了百分比,则表示升级时代理池总大小的百分比。 对于百分比,将小数点节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息(包括最佳做法),请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字符串
nodeSoakDurationInMinutes ) 排空节点后、重新映像并移动到下一个节点之前等待 (以分钟为单位的时间量。 如果未指定,则默认值为 0 分钟。 int

约束:
最小值 = 0
最大值 = 30

AgentPoolWindowsProfile

名称 说明
disableOutboundNat 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点的公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 有效值为“true”和“false” 字符串
扩展器 如果未指定,则默认值为“random”。 有关详细信息 ,请参阅扩展器 “least-waste”
“most-pods”
'priority'
“random”
max-empty-bulk-delete 默认值为 10。 字符串
max-graceful-termination-sec 默认为 600。 字符串
max-node-provision-time 默认值为“15m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
max-total-unready-percentage 默认值为 45。 最大值为 100,最小值为 0。 字符串
new-pod-scale-up-delay 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s'表示秒,'m'表示分钟,'h'表示小时等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是秒数的整数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 节点上 OS 的更新方式。 默认值为 NodeImage。 “NodeImage”
“None”
“非托管”
upgradeChannel 有关详细信息 ,请参阅设置 AKS 群集自动升级通道 “node-image”
'none'
“patch”
“rapid”
“stable”

ManagedClusterAzureMonitorProfile

名称 说明
指标 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现成的 Kubernetes 基础结构指标以发送到 Azure Monitor 工作区,并为自定义目标配置其他抓取。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileMetrics

名称 说明
enabled 是启用或禁用用于 Prometheus 监视的 Azure Managed Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 bool (必需)
kubeStateMetrics Azure Managed Prometheus 加载项的 Kube 状态指标配置文件。 这些可选设置适用于随加载项一起部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表 (示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表 (示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串

ManagedClusterHttpProxyConfig

名称 说明
httpProxy 要使用的 HTTP 代理服务器终结点。 字符串
httpsProxy 要使用的 HTTPS 代理服务器终结点。 字符串
noProxy 不应通过代理的终结点。 string[]
trustedCa 用于连接到代理服务器的替代 CA 证书。 字符串

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的应用路由设置。 可以在 /azure/aks/app-routing?tabs=default%2Cdeploy-app-default 中找到此功能的概述和载入指南。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与应用程序路由加载项关联的 DNS 区域的资源 ID。 仅在启用应用程序路由加载项时使用。 公共和专用 DNS 区域可以位于不同的资源组中,但所有公共 DNS 区域必须位于同一资源组中,并且所有专用 DNS 区域必须位于同一资源组中。 string[]

约束:
最大长度 = 5
enabled 是否启用应用程序路由加载项。 bool

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 ContainerServiceSshPublicKey[] (必需的)

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

名称 说明
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名称 说明
enabled 必须将托管群集 sku.tier 设置为“标准”或“高级”才能启用此功能。 启用此选项会将 Kubernetes 命名空间和部署详细信息添加到Azure 门户中的成本分析视图中。 如果未指定,则默认值为 false。 有关详细信息,请参阅 aka.ms/aks/docs/cost-analysis。 bool

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]?)$
ipFamilies IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 包含任意项的字符串数组:
“IPv4”
“IPv6”
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅Azure 负载均衡器 SKU。 “basic”
“standard”
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 不是“azure”,则无法指定此值。 “bridge”
“透明”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
'kubenet'
'none'
networkPluginMode 网络插件应使用的模式。 'overlay'
networkPolicy 用于生成 Kubernetes 网络的网络策略。 'azure'
'calico'
“cilium”
outboundType 这只能在创建群集时设置,以后无法更改。 有关详细信息 ,请参阅出口出站类型 “loadBalancer”
'managedNATGateway'
“userAssignedNATGateway”
“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]))?$
podCidrs 单堆栈网络需要一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 string[]
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 单堆栈网络需要一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 它们不得与任何子网 IP 范围重叠。 string[]

ManagedClusterLoadBalancerProfile

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

约束:
最小值 = 0
最大值 = 64000
backendPoolType 托管入站负载均衡器 BackendPool 的类型。 “NodeIP”
“NodeIPConfiguration”
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
enableMultipleStandardLoadBalancers 是否为每个 AKS 群集启用多个标准负载均衡器。 bool
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 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100
countIPv6 Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 对于单堆栈,默认值为 0,对于双堆栈,默认值为 1。 int

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterNATGatewayProfile

名称 说明
effectiveOutboundIPs 群集 NAT 网关的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值范围为 4 到 120 ((含) )。 默认值为 4 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 群集 NAT 网关的托管出站 IP 资源的配置文件。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名称 说明 Value
count Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间, (包含) 。 默认值为 1。 int

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

ManagedClusterOidcIssuerProfile

名称 说明
enabled 是否启用了 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

名称 说明
allowNetworkPluginKubenet 默认情况下,由于 AAD Pod 标识的安全相关特性和 IP 欺骗的风险,默认禁用在 Kubenet 中运行。 有关详细信息 ,请参阅将 Kubenet 网络插件与 AAD Pod 标识配合使用 bool
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 在群集中使用的 Pod 标识。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 允许的 Pod 标识异常。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
标识 用户分配的标识详细信息。 需要 UserAssignedIdentity ()
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

名称 说明
groupId 资源的组 ID。 string
id 专用链接资源的 ID。 字符串
name 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

ManagedClusterSecurityProfile

名称 说明
azureKeyVaultKms Azure 密钥保管库安全配置文件的密钥管理服务设置。 AzureKeyVaultKms
defender Microsoft Defender安全配置文件的设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
workloadIdentity 安全配置文件的工作负载标识设置。 工作负载标识使 Kubernetes 应用程序能够通过 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名称 说明
enabled 是否启用 Azure 密钥保管库密钥管理服务。 默认值为 false。 bool
keyId Azure 密钥保管库密钥的标识符。 有关更多详细信息 ,请参阅密钥标识符格式 。 启用 Azure 密钥保管库密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure 密钥保管库密钥管理服务时,请将字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 表示密钥保管库允许从所有网络进行公共访问。 Private 表示密钥保管库禁用公共访问并启用专用链接。 默认值为 Public “Private”
“Public”
keyVaultResourceId 密钥保管库的资源 ID。 当 keyVaultNetworkAccess 为 Private时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess 为 Public时,将字段留空。 字符串

ManagedClusterSecurityProfileDefender

名称 说明
logAnalyticsWorkspaceResourceId 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender时,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender时,将字段留空。 字符串
securityMonitoring Microsoft Defender安全配置文件的云设置的威胁检测。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名称 说明
enabled 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

名称 说明
enabled 是否在 AKS 群集上启用映像清理程序。 bool
intervalHours 图像清理器扫描间隔(以小时为单位)。 int

ManagedClusterSecurityProfileWorkloadIdentity

名称 说明
enabled 是否启用工作负载标识。 bool

ServiceMeshProfile

名称 说明
istio Istio 服务网格配置。 IstioServiceMesh
mode 服务网格的模式。 'Disabled'
需要“Istio” ()

IstioServiceMesh

名称 说明
certificateAuthority Istio Service Mesh 证书颁发机构 (CA) 配置。 目前,我们仅支持插件证书,如此处所述 https://aka.ms/asm-plugin-ca IstioCertificateAuthority
components Istio 组件配置。 IstioComponents
修改 Istio 控制平面的修订列表。 升级未进行时,这保留一个值。 当 Canary 升级正在进行时,这只能包含两个连续值。 有关详细信息,请参阅:/azure/aks/istio-upgrade string[]

约束:
最大长度 = 2

IstioCertificateAuthority

名称 说明
plugin 服务网格的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名称 说明
certChainObjectName Azure 密钥保管库中的证书链对象名称。 字符串
certObjectName Azure 密钥保管库中的中间证书对象名称。 字符串
keyObjectName Azure 密钥保管库 中的中间证书私钥对象名称。 字符串
keyVaultId 密钥保管库的资源 ID。 字符串
rootCertObjectName Azure 密钥保管库中的根证书对象名称。 字符串

IstioComponents

名称 说明
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 需要 bool ()

IstioIngressGateway

名称 说明
enabled 是否启用入口网关。 需要 bool ()
mode 入口网关的模式。 'External'
需要“内部” ()

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

名称 说明
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名称 说明
enabled 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名称 说明
enabled 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名称 说明
enabled 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名称 说明
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名称 说明
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 请谨慎启用此选项。 bool
until 直到替代生效。 请注意,这仅与升级的开始时间匹配,并且当升级开始后,即使 until 随着升级的继续而过期,有效性也不会更改。 默认情况下不设置此字段。 必须设置它才能使替代生效。 字符串

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 个字符
字符串 (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
LicenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 “None”
“Windows_Server”

WindowsGmsaProfile

名称 说明
dnsServer 指定 Windows gMSA 的 DNS 服务器。

如果已在用于创建托管群集的 vnet 中配置 DNS 服务器,请将其设置为空。
字符串
enabled 指定是否在托管群集中启用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根域名。

如果已在用于创建托管群集的 vnet 中配置 DNS 服务器,请将其设置为空。
字符串

ManagedClusterWorkloadAutoScalerProfile

名称 说明
keda KEDA (Kubernetes 事件驱动的自动缩放) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler VPA (垂直 Pod 自动缩放程序) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名称 说明
enabled 是否启用 KEDA。 需要 bool ()

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
enabled 是否启用 VPA。 默认值为 false。 需要 bool ()

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 'Base'
如果未指定,则默认值为“Free”。 有关更多详细信息,请参阅 AKS 定价层 “免费”
“Premium”
'Standard'

快速入门模板

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

模板 说明
在 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@2024-02-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    delegatedResources = {
      {customized property} = {
        location = "string"
        referralResource = "string"
        resourceId = "string"
        tenantId = "string"
      }
    }
    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"
          ]
          capacityReservationGroupID = "string"
          count = int
          creationData = {
            sourceResourceId = "string"
          }
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableFIPS = bool
          enableNodePublicIP = bool
          enableUltraSSD = bool
          gpuInstanceProfile = "string"
          hostGroupID = "string"
          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"
          networkProfile = {
            allowedHostPorts = [
              {
                portEnd = int
                portStart = int
                protocol = "string"
              }
            ]
            applicationSecurityGroups = [
              "string"
            ]
            nodePublicIPTags = [
              {
                ipTagType = "string"
                tag = "string"
              }
            ]
          }
          nodeLabels = {
            {customized property} = "string"
          }
          nodePublicIPPrefixID = "string"
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osSKU = "string"
          osType = "string"
          podSubnetID = "string"
          powerState = {
            code = "string"
          }
          proximityPlacementGroupID = "string"
          scaleDownMode = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = "decimal-as-string"
          tags = {}
          type = "string"
          upgradeSettings = {
            drainTimeoutInMinutes = int
            maxSurge = "string"
            nodeSoakDurationInMinutes = int
          }
          vmSize = "string"
          vnetSubnetID = "string"
          windowsProfile = {
            disableOutboundNat = bool
          }
          workloadRuntime = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        disableRunCommand = bool
        enablePrivateCluster = bool
        enablePrivateClusterPublicFQDN = 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 = {
        nodeOSUpgradeChannel = "string"
        upgradeChannel = "string"
      }
      azureMonitorProfile = {
        metrics = {
          enabled = bool
          kubeStateMetrics = {
            metricAnnotationsAllowList = "string"
            metricLabelsAllowlist = "string"
          }
        }
      }
      disableLocalAccounts = bool
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      fqdnSubdomain = "string"
      httpProxyConfig = {
        httpProxy = "string"
        httpsProxy = "string"
        noProxy = [
          "string"
        ]
        trustedCa = "string"
      }
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      ingressProfile = {
        webAppRouting = {
          dnsZoneResourceIds = [
            "string"
          ]
          enabled = bool
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      metricsProfile = {
        costAnalysis = {
          enabled = bool
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        ipFamilies = [
          "string"
        ]
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          backendPoolType = "string"
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          enableMultipleStandardLoadBalancers = bool
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
            countIPv6 = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        natGatewayProfile = {
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPProfile = {
            count = int
          }
        }
        networkDataplane = "string"
        networkMode = "string"
        networkPlugin = "string"
        networkPluginMode = "overlay"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        podCidrs = [
          "string"
        ]
        serviceCidr = "string"
        serviceCidrs = [
          "string"
        ]
      }
      nodeResourceGroup = "string"
      oidcIssuerProfile = {
        enabled = bool
      }
      podIdentityProfile = {
        allowNetworkPluginKubenet = bool
        enabled = bool
        userAssignedIdentities = [
          {
            bindingSelector = "string"
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      privateLinkResources = [
        {
          groupId = "string"
          id = "string"
          name = "string"
          requiredMembers = [
            "string"
          ]
          type = "string"
        }
      ]
      publicNetworkAccess = "string"
      securityProfile = {
        azureKeyVaultKms = {
          enabled = bool
          keyId = "string"
          keyVaultNetworkAccess = "string"
          keyVaultResourceId = "string"
        }
        defender = {
          logAnalyticsWorkspaceResourceId = "string"
          securityMonitoring = {
            enabled = bool
          }
        }
        imageCleaner = {
          enabled = bool
          intervalHours = int
        }
        workloadIdentity = {
          enabled = bool
        }
      }
      serviceMeshProfile = {
        istio = {
          certificateAuthority = {
            plugin = {
              certChainObjectName = "string"
              certObjectName = "string"
              keyObjectName = "string"
              keyVaultId = "string"
              rootCertObjectName = "string"
            }
          }
          components = {
            egressGateways = [
              {
                enabled = bool
              }
            ]
            ingressGateways = [
              {
                enabled = bool
                mode = "string"
              }
            ]
          }
          revisions = [
            "string"
          ]
        }
        mode = "string"
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      storageProfile = {
        blobCSIDriver = {
          enabled = bool
        }
        diskCSIDriver = {
          enabled = bool
        }
        fileCSIDriver = {
          enabled = bool
        }
        snapshotController = {
          enabled = bool
        }
      }
      supportPlan = "string"
      upgradeSettings = {
        overrideSettings = {
          forceUpgrade = bool
          until = "string"
        }
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        enableCSIProxy = bool
        gmsaProfile = {
          dnsServer = "string"
          enabled = bool
          rootDomainName = "string"
        }
        licenseType = "string"
      }
      workloadAutoScalerProfile = {
        keda = {
          enabled = bool
        }
        verticalPodAutoscaler = {
          enabled = bool
        }
      }
    }
    sku = {
      name = "Base"
      tier = "string"
    }
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
  })
}

属性值

managedClusters

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

字符限制:1-63

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

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

ExtendedLocation

名称 说明
name 扩展位置的名称。 字符串
type 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

名称 说明
delegatedResources 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委派标识资源。 仅限内部使用。 DelegatedResources
类型 有关详细信息,请参阅 在 AKS 中使用托管标识 “SystemAssigned”
“UserAssigned”
identity_ids 密钥必须是采用以下格式的 ARM 资源 ID:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 用户标识 ID 数组。

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

名称 说明
location 源资源位置 - 仅限内部使用。 字符串
referralResource 引荐委派的委派 ID (可选的) - 仅限内部使用。 字符串
ResourceId 委派资源的 ARM 资源 ID - 仅限内部使用。 字符串
tenantId 委托资源的租户 ID - 仅限内部使用。 字符串

约束:
最小长度 = 36
最大长度 = 36
Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 用于监视托管群集的 Azure Monitor 加载项配置文件。 ManagedClusterAzureMonitorProfile
disableLocalAccounts 如果设置为 true,则会为此群集禁用获取静态凭据。 这必须仅在已启用 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 其格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此状态。 字符串
enablePodSecurityPolicy (已弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此状态。 字符串
httpProxyConfig 使用 HTTP 代理服务器预配群集的配置。 ManagedClusterHttpProxyConfig
identityProfile 与群集关联的标识。 ManagedClusterPropertiesIdentityProfile
ingressProfile 托管群集的入口配置文件。 ManagedClusterIngressProfile
kubernetesVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 使用同一 {major.minor} 创建群集后, (例如 1.14.x -} 1.14) 更新群集,即使有更新的修补程序版本可用,也不会触发升级。 升级受支持的 AKS 群集时,不能跳过 Kubernetes 次要版本。 所有升级都必须按主版本号依次执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许 1.14.x -} 1.16.x。 有关更多详细信息 ,请参阅升级 AKS 群集 字符串
linuxProfile 托管群集中 Linux VM 的配置文件。 ContainerServiceLinuxProfile
metricsProfile 可选的群集指标配置。 ManagedClusterMetricsProfile
networkProfile 网络配置文件。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的更多详细信息,请参阅使用 AAD Pod 标识。 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝 AKS 的公共网络访问 “Disabled”
“已启用”
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 “AKSLongTermSupport”
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

名称 说明
adminGroupObjectIDs 将具有群集管理员角色的 AAD 组对象 ID 的列表。 string[]
clientAppID (已弃用) 客户端 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
enableAzureRBAC 是否为 Kubernetes 授权启用 Azure RBAC。 bool
托管式 是否启用托管 AAD。 bool
serverAppID (已弃用) 服务器 AAD 应用程序 ID。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
serverAppSecret (已弃用) 服务器 AAD 应用程序机密。 有关详细信息,请访问 https://aka.ms/aks/aad-legacy. 字符串
tenantID 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 字符串

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 docker 容器 (VM 的代理数。 对于用户池,允许的值必须介于 0 到 1000 ((含) )范围内,系统池的) 范围为 1 到 1000 (非独占) 。 默认值为 1。 int
creationData 如果将使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableEncryptionAtHost 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关更多详细信息 ,请参阅添加启用了 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
hostGroupID 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机 字符串
kubeletConfig 代理池节点上的 Kubelet 配置。 KubeletConfig
kubeletDiskType 确定 emptyDir 卷、容器运行时数据根和 Kubelet 临时存储的位置。 “OS”
“临时”
linuxOSConfig Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的 Pod 的最大数目。 int
minCount 用于自动缩放的最小节点数 int
mode 群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

约束:
Pattern = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeLabels 要跨代理池中的所有节点持久保存的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 后,将自动选择受支持的最新 GA 修补程序版本。 使用同一 {major.minor} 创建群集后, (例如 1.14.x -} 1.14) 更新群集,即使有更新的修补程序版本可用,也不会触发升级。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本的主要版本必须与控制平面相同。 节点池的次要版本必须在控制平面版本的两个次要版本范围内。 节点池版本不能大于控制平面版本。 有关详细信息 ,请参阅升级节点池 字符串
osDiskSizeGB OS 磁盘大小(GB)用于指定主/代理池中每台计算机的磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“托管”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS “临时”
“托管”
osSKU 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 时,默认值为 Windows2019;如果 OSType 为 Windows,则当 Kubernetes >= 1.25 时,默认值为 Windows2022。 “AzureLinux”
“CBLMariner”
“Ubuntu”
“Windows2019”
“Windows2022”
osType 操作系统类型。 默认值为 Linux。 “Linux”
“Windows”
podSubnetID 如果省略,则会在节点子网上静态分配 Pod IP, (有关) 更多详细信息,请参阅 vnetSubnetID。 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
powerState 首次创建代理池时,它最初处于运行状态。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,并且不会产生计费费用。 仅当代理池为“正在运行”且预配状态为“成功”时,才能停止该代理池 PowerState
proximityPlacementGroupID 邻近放置组的 ID。 字符串
scaleDownMode 这也会影响群集自动缩放程序行为。 如果未指定,则默认为 Delete。 “Deallocate”
“Delete”
scaleSetEvictionPolicy 除非 scaleSetPriority 为“Spot”,否则无法指定此值。 如果未指定,则默认值为“Delete”。 “Deallocate”
“Delete”
scaleSetPriority 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 “常规”
“Spot”
spotMaxPrice 可能的值是大于零或 -1 的任何十进制值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 将小数点值指定为字符串。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源不足 (内存、cpu 等) Pod 可能无法正确运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定此项,则会生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 其格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 “OCIContainer”
“WasmWasi”

CreationData

名称 说明
sourceResourceId 这是要用于创建目标对象的源对象的 ARM ID。 字符串

KubeletConfig

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

约束:
最小值 = 2
containerLogMaxSizeMB 最大大小 (例如轮换容器日志文件前的 10Mi) 。 int
cpuCfsQuota 默认值为 true。 bool
cpuCfsQuotaPeriod 默认值为“100ms”。 有效值是具有可选小数和单位后缀的十进制数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 字符串
cpuManagerPolicy 默认值为“none”。 有关详细信息 ,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 字符串
failSwapOn 如果设置为 true,则如果在节点上启用了交换,则会导致 Kubelet 无法启动。 bool
imageGcHighThreshold 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% int
imageGcLowThreshold 此设置不能高于 imageGcHighThreshold。 默认值为 80% int
podMaxPids 每个 Pod 的最大进程数。 int
topologyManagerPolicy 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 字符串

LinuxOSConfig

名称 说明
swapFileSizeMB 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 int
sysctls Linux 代理节点的 Sysctl 设置。 SysctlConfig
transparentHugePageDefrag 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页 字符串
transparentHugePageEnabled 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页 字符串

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 设置 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

约束:
最小值 = 10
最大值 = 90
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

约束:
最小值 = 65536
最大值 = 524288
netNetfilterNfConntrackMax Sysctl 设置net.netfilter.nf_conntrack_max。 int

约束:
最小值 = 131072
最大值 = 2097152
vmMaxMapCount Sysctl 设置 vm.max_map_count。 int
vmSwappiness Sysctl 设置 vm.swappiness。 int
vmVfsCachePressure Sysctl 设置vm.vfs_cache_pressure。 int

AgentPoolNetworkProfile

名称 说明
allowedHostPorts 允许访问的端口范围。 允许指定的范围重叠。 PortRange[]
applicationSecurityGroups 创建代理池时将关联的应用程序安全组的 ID。 string[]
nodePublicIPTags 实例级公共 IP 的 IPTag。 IPTag[]

PortRange

名称 说明
预示 着 范围中包含的最大端口。 其范围为 1 到 65535,并且应大于或等于 portStart。 int

约束:
最小值 = 1
最大值 = 65535
portStart 范围中包含的最小端口。 其范围为 1 到 65535,并且应小于或等于 portEnd。 int

约束:
最小值 = 1
最大值 = 65535
protocol 端口的网络协议。 “TCP”
“UDP”

IPTag

名称 说明
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

名称 说明
code 指示群集是正在运行还是已停止 “正在运行”
“Stopped”

AgentPoolUpgradeSettings

名称 说明
drainTimeoutInMinutes 等待 Pod 逐出和每个节点正常终止的时间) , (分钟。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 int

约束:
最小值 = 1
最大值 = 1440
maxSurge 这可以设置为整数 ((例如“5”) )或百分比 (例如“50%”) 。 如果指定了百分比,则为升级时代理池总大小的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息(包括最佳做法),请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字符串
nodeSoakDurationInMinutes 在清空节点后、重置映像并移动到下一个节点之前,) 等待 (分钟的时间。 如果未指定,则默认值为 0 分钟。 int

约束:
最小值 = 0
最大值 = 30

AgentPoolWindowsProfile

名称 说明
disableOutboundNat 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点的公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串

ManagedClusterPropertiesAutoScalerProfile

名称 说明
balance-similar-node-groups 有效值为“true”和“false” 字符串
扩展器 如果未指定,则默认值为“random”。 有关详细信息 ,请参阅扩展器 “最少浪费”
“most-pods”
“priority”
“random”
max-empty-bulk-delete 默认值为 10。 字符串
max-graceful-termination-sec 默认为 600。 字符串
max-node-provision-time 默认值为“15m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
max-total-unready-percentage 默认值为 45。 最大值为 100,最小值为 0。 字符串
new-pod-scale-up-delay 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s'表示秒,'m'表示分钟,'h'表示小时等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是整数秒数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 更新节点上 OS 的方式。 默认值为 NodeImage。 “NodeImage”
"None"
“非托管”
upgradeChannel 有关详细信息 ,请参阅设置 AKS 群集自动升级通道 “node-image”
“none”
“patch”
“快速”
“stable”

ManagedClusterAzureMonitorProfile

名称 说明
指标 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现成的 Kubernetes 基础结构指标以发送到 Azure Monitor 工作区,并为自定义目标配置其他抓取。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileMetrics

名称 说明
enabled 是启用或禁用用于 Prometheus 监视的 Azure 托管 Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 需要 bool ()
kubeStateMetrics Azure Managed Prometheus 加载项的 Kube State Metrics 配置文件。 这些可选设置适用于随加载项一起部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表 (示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表 (示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...') 。 默认情况下,指标仅包含资源名称和命名空间标签。 字符串

ManagedClusterHttpProxyConfig

名称 说明
httpProxy 要使用的 HTTP 代理服务器终结点。 字符串
httpsProxy 要使用的 HTTPS 代理服务器终结点。 字符串
noProxy 不应通过代理的终结点。 string[]
trustedCa 用于连接到代理服务器的替代 CA 证书。 字符串

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的应用路由设置。 有关此功能的概述和载入指南,请参阅 /azure/aks/app-routing?tabs=default%2Cdeploy-app-default。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与应用程序路由加载项关联的 DNS 区域的资源 ID。 仅在启用应用程序路由加载项时使用。 公共和专用 DNS 区域可以位于不同的资源组中,但所有公共 DNS 区域必须位于同一资源组中,并且所有专用 DNS 区域必须位于同一资源组中。 string[]

约束:
最大长度 = 5
enabled 是否启用应用程序路由加载项。 bool

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

名称 说明
publicKeys 用于对基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 ContainerServiceSshPublicKey[] (必需)

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

名称 说明
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名称 说明
enabled 托管群集 sku.tier 必须设置为“标准”或“高级”才能启用此功能。 启用此功能会将 Kubernetes 命名空间和部署详细信息添加到Azure 门户中的成本分析视图。 如果未指定,则默认值为 false。 有关详细信息,请参阅 aka.ms/aks/docs/cost-analysis。 bool

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]?)$
ipFamilies IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 包含任何一项的字符串数组:
“IPv4”
“IPv6”
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅Azure 负载均衡器 SKU。 “basic”
“standard”
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 是除“azure”以外的任何内容,则无法指定此值。 “bridge”
“transparent”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
“none”
networkPluginMode 网络插件应使用的模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
outboundType 这只能在创建群集时设置,以后无法更改。 有关详细信息 ,请参阅出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“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]))?$
podCidrs 单堆栈网络需要一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 string[]
serviceCidr CIDR 表示法 IP 范围,从其中分配服务群集 IP。 此范围不得与任何子网 IP 范围重叠。 字符串

约束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 单堆栈网络需要一个 IPv4 CIDR。 双堆栈网络需要两个CIDR,每个 IP 系列 (IPv4/IPv6) 各一个。 它们不得与任何子网 IP 范围重叠。 string[]

ManagedClusterLoadBalancerProfile

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

约束:
最小值 = 0
最大值 = 64000
backendPoolType 托管入站负载均衡器 BackendPool 的类型。 “NodeIP”
“NodeIPConfiguration”
effectiveOutboundIPs 群集负载均衡器的有效出站 IP 资源。 ResourceReference[]
enableMultipleStandardLoadBalancers 是否为每个 AKS 群集启用多个标准负载均衡器。 bool
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 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 默认值为 1。 int

约束:
最小值 = 1
最大值 = 100
countIPv6 Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须在 1 到 100 (非独占) 范围内。 对于单堆栈,默认值为 0,对于双堆栈,默认值为 1。 int

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

ManagedClusterNATGatewayProfile

名称 说明
effectiveOutboundIPs 群集 NAT 网关的有效出站 IP 资源。 ResourceReference[]
idleTimeoutInMinutes 所需的出站流空闲超时(以分钟为单位)。 允许的值范围为 4 到 120 ((含) )。 默认值为 4 分钟。 int

约束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 群集 NAT 网关的托管出站 IP 资源的配置文件。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名称 说明 Value
count Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间, (包含) 。 默认值为 1。 int

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

ManagedClusterOidcIssuerProfile

名称 说明
enabled 是否启用了 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

名称 说明
allowNetworkPluginKubenet 默认情况下,由于 AAD Pod 标识的安全相关特性和 IP 欺骗的风险,默认禁用在 Kubenet 中运行。 有关详细信息 ,请参阅将 Kubenet 网络插件与 AAD Pod 标识配合使用 bool
enabled 是否启用了 Pod 标识加载项。 bool
userAssignedIdentities 在群集中使用的 Pod 标识。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 允许的 Pod 标识异常。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名称 说明
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
标识 用户分配的标识详细信息。 需要 UserAssignedIdentity ()
name Pod 标识的名称。 字符串 (必需)
命名空间 Pod 标识的命名空间。 字符串 (必需)

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

名称 说明
groupId 资源的组 ID。 string
id 专用链接资源的 ID。 字符串
name 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

ManagedClusterSecurityProfile

名称 说明
azureKeyVaultKms Azure 密钥保管库安全配置文件的密钥管理服务设置。 AzureKeyVaultKms
defender Microsoft Defender安全配置文件的设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
workloadIdentity 安全配置文件的工作负载标识设置。 工作负载标识使 Kubernetes 应用程序能够通过 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名称 说明
enabled 是否启用 Azure 密钥保管库密钥管理服务。 默认值为 false。 bool
keyId Azure 密钥保管库密钥的标识符。 有关更多详细信息 ,请参阅密钥标识符格式 。 启用 Azure 密钥保管库密钥管理服务后,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure 密钥保管库密钥管理服务时,将 字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 表示密钥保管库允许从所有网络进行公共访问。 Private 表示密钥保管库禁用公共访问并启用专用链接。 默认值为 Public “Private”
“Public”
keyVaultResourceId 密钥保管库的资源 ID。 当 keyVaultNetworkAccess 为 Private时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess 为 Public时,将字段留空。 字符串

ManagedClusterSecurityProfileDefender

名称 说明
logAnalyticsWorkspaceResourceId 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender后,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender时,将字段留空。 字符串
securityMonitoring Microsoft Defender安全配置文件的云设置的威胁检测。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名称 说明
enabled 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

名称 说明
enabled 是否在 AKS 群集上启用映像清理程序。 bool
intervalHours 图像清理器扫描间隔(以小时为单位)。 int

ManagedClusterSecurityProfileWorkloadIdentity

名称 说明
enabled 是否启用工作负载标识。 bool

ServiceMeshProfile

名称 说明
istio Istio 服务网格配置。 IstioServiceMesh
mode 服务网格的模式。 “Disabled”
需要“Istio” ()

IstioServiceMesh

名称 说明
certificateAuthority Istio Service Mesh 证书颁发机构 (CA) 配置。 目前,我们仅支持此处所述的插件证书 https://aka.ms/asm-plugin-ca IstioCertificateAuthority
components Istio 组件配置。 IstioComponents
修改 Istio 控制平面的修订列表。 如果未进行升级,则保留一个值。 金丝雀升级正在进行时,只能保留两个连续值。 有关详细信息,请参阅:/azure/aks/istio-upgrade string[]

约束:
最大长度 = 2

IstioCertificateAuthority

名称 说明
plugin Service Mesh 的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名称 说明
certChainObjectName Azure 密钥保管库中的证书链对象名称。 字符串
certObjectName Azure 密钥保管库中的中间证书对象名称。 字符串
keyObjectName Azure 密钥保管库中的中间证书私钥对象名称。 字符串
keyVaultId 密钥保管库的资源 ID。 字符串
rootCertObjectName Azure 密钥保管库中的根证书对象名称。 字符串

IstioComponents

名称 说明
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 需要 bool ()

IstioIngressGateway

名称 说明
enabled 是否启用入口网关。 需要 bool ()
mode 入口网关的模式。 “External”
需要“内部” ()

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

名称 说明
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名称 说明
enabled 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名称 说明
enabled 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名称 说明
enabled 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名称 说明
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名称 说明
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 请谨慎启用此选项。 bool
until 直到替代生效。 请注意,这仅与升级的开始时间匹配,并且一旦开始 until 升级,即使随着升级的继续而过期,效果也不会改变。 默认情况下不设置此字段。 必须设置它才能使替代生效。 字符串

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 个字符
字符串 (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
LicenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 "None"
“Windows_Server”

WindowsGmsaProfile

名称 说明
dnsServer 指定 Windows gMSA 的 DNS 服务器。

如果在 vnet 中配置了用于创建托管群集的 DNS 服务器,请将其设置为空。
字符串
enabled 指定是否在托管群集中启用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根域名。

如果在 vnet 中配置了用于创建托管群集的 DNS 服务器,请将其设置为空。
字符串

ManagedClusterWorkloadAutoScalerProfile

名称 说明
keda KEDA (Kubernetes 事件驱动的自动缩放) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler VPA (垂直 Pod 自动缩放程序) 工作负荷自动缩放程序配置文件的设置。 ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名称 说明
enabled 是否启用 KEDA。 bool (必需)

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
enabled 是否启用 VPA。 默认值为 false。 bool (必需)

ManagedClusterSKU

名称 说明
name 托管群集 SKU 的名称。 “Base”
如果未指定,则默认值为“Free”。 有关更多详细信息 ,请参阅 AKS 定价层 "Free"
“Premium”
“Standard”