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

Microsoft.ContainerService managedClusters 2023-11-02-preview

Bicep 资源定义

可以使用目标操作部署 managedClusters 资源类型:

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

言论

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

资源格式

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2023-11-02-preview' = {
  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: [
      {
        artifactStreamingProfile: {
          enabled: bool
        }
        availabilityZones: [
          'string'
        ]
        capacityReservationGroupID: 'string'
        count: int
        creationData: {
          sourceResourceId: 'string'
        }
        enableAutoScaling: bool
        enableCustomCATrust: bool
        enableEncryptionAtHost: bool
        enableFIPS: bool
        enableNodePublicIP: bool
        enableUltraSSD: bool
        gpuInstanceProfile: 'string'
        gpuProfile: {
          installGPUDriver: bool
        }
        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
        messageOfTheDay: 'string'
        minCount: int
        mode: 'string'
        name: 'string'
        networkProfile: {
          allowedHostPorts: [
            {
              portEnd: int
              portStart: int
              protocol: 'string'
            }
          ]
          applicationSecurityGroups: [
            'string'
          ]
          nodePublicIPTags: [
            {
              ipTagType: 'string'
              tag: 'string'
            }
          ]
        }
        nodeInitializationTaints: [
          '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'
        securityProfile: {
          enableSecureBoot: bool
          enableVTPM: bool
          sshAccess: 'string'
        }
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        type: 'string'
        upgradeSettings: {
          drainTimeoutInMinutes: int
          maxSurge: 'string'
          nodeSoakDurationInMinutes: int
        }
        virtualMachineNodesStatus: [
          {
            count: int
            size: 'string'
          }
        ]
        virtualMachinesProfile: {
          scale: {
            manual: [
              {
                count: int
                sizes: [
                  'string'
                ]
              }
            ]
          }
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
        windowsProfile: {
          disableOutboundNat: bool
        }
        workloadRuntime: 'string'
      }
    ]
    aiToolchainOperatorProfile: {
      enabled: bool
    }
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      disableRunCommand: bool
      enablePrivateCluster: bool
      enablePrivateClusterPublicFQDN: bool
      enableVnetIntegration: bool
      privateDNSZone: 'string'
      subnetId: 'string'
    }
    autoScalerProfile: {
      'balance-similar-node-groups': 'string'
      'daemonset-eviction-for-empty-nodes': bool
      'daemonset-eviction-for-occupied-nodes': bool
      expander: 'string'
      'ignore-daemonsets-utilization': bool
      '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: {
      logs: {
        appMonitoring: {
          enabled: bool
        }
        containerInsights: {
          enabled: bool
          logAnalyticsWorkspaceResourceId: 'string'
          windowsHostLogs: {
            enabled: bool
          }
        }
      }
      metrics: {
        appMonitoringOpenTelemetryMetrics: {
          enabled: bool
        }
        enabled: bool
        kubeStateMetrics: {
          metricAnnotationsAllowList: 'string'
          metricLabelsAllowlist: 'string'
        }
      }
    }
    creationData: {
      sourceResourceId: 'string'
    }
    disableLocalAccounts: bool
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enableNamespaceResources: bool
    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'
      ]
      kubeProxyConfig: {
        enabled: bool
        ipvsConfig: {
          scheduler: 'string'
          tcpFinTimeoutSeconds: int
          tcpTimeoutSeconds: int
          udpTimeoutSeconds: int
        }
        mode: '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'
      monitoring: {
        enabled: bool
      }
      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'
      ]
    }
    nodeProvisioningProfile: {
      mode: 'string'
    }
    nodeResourceGroup: 'string'
    nodeResourceGroupProfile: {
      restrictionLevel: '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'
    safeguardsProfile: {
      excludedNamespaces: [
        'string'
      ]
      level: 'string'
      version: 'string'
    }
    securityProfile: {
      azureKeyVaultKms: {
        enabled: bool
        keyId: 'string'
        keyVaultNetworkAccess: 'string'
        keyVaultResourceId: 'string'
      }
      customCATrustCertificates: [
        any
      ]
      defender: {
        logAnalyticsWorkspaceResourceId: 'string'
        securityMonitoring: {
          enabled: bool
        }
      }
      imageCleaner: {
        enabled: bool
        intervalHours: int
      }
      imageIntegrity: {
        enabled: bool
      }
      nodeRestriction: {
        enabled: bool
      }
      workloadIdentity: {
        enabled: bool
      }
    }
    serviceMeshProfile: {
      istio: {
        certificateAuthority: {
          plugin: {
            certChainObjectName: 'string'
            certObjectName: 'string'
            keyObjectName: 'string'
            keyVaultId: 'string'
            rootCertObjectName: 'string'
          }
        }
        components: {
          egressGateways: [
            {
              enabled: bool
              nodeSelector: {
                {customized property}: 'string'
              }
            }
          ]
          ingressGateways: [
            {
              enabled: bool
              mode: 'string'
            }
          ]
        }
        revisions: [
          'string'
        ]
      }
      mode: 'string'
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    storageProfile: {
      blobCSIDriver: {
        enabled: bool
      }
      diskCSIDriver: {
        enabled: bool
        version: 'string'
      }
      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: {
        addonAutoscaling: 'string'
        enabled: bool
      }
    }
  }
}

属性值

managedClusters

名字 描述 价值
名字 资源名称 string (必需)

字符限制:1-63

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

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

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

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

DelegatedResources

名字 描述 价值
{自定义属性} DelegatedResource

DelegatedResource

名字 描述 价值
位置 源资源位置 - 仅供内部使用。 字符串
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

名字 描述 价值
{自定义属性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名字 描述 价值
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
aiToolchainOperatorProfile 适用于整个群集的 AI 工具链操作员设置。 ManagedClusterAIToolchainOperatorProfile
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 容器服务群集的 Prometheus 加载项配置文件 ManagedClusterAzureMonitorProfile
creationData 如果使用快照创建/升级群集,则用于指定源快照 ID 的 CreationData。 CreationData
disableLocalAccounts 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此功能。 字符串
enableNamespaceResources 默认值为 false。 可以在创建和更新托管群集时启用/禁用它。 有关NAMESPACE作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 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 升级支持的 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
nodeProvisioningProfile 适用于整个群集的节点预配设置。 ManagedClusterNodeProvisioningProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
nodeResourceGroupProfile 节点资源组配置文件。 ManagedClusterNodeResourceGroupProfile
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝 AKS 的公共网络访问 “Disabled”
“Enabled”
“SecuredByPerimeter”
safeguardsProfile 保护配置文件保存给定群集的所有安全措施信息 SafeguardsProfile
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

名字 描述 价值
{自定义属性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名字 描述 价值
配置 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
启用 是否启用加载项。 bool (必需)

ManagedClusterAddonProfileConfig

名字 描述 价值
{自定义属性} 字符串

ManagedClusterAgentPoolProfile

名字 描述 价值
artifactStreamingProfile 用于在 AKS 上使用项目流式传输的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
计数 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 int
creationData 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableCustomCATrust 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认值为 false。 bool
enableEncryptionAtHost 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关详细信息,请参阅 添加启用了 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
gpuProfile 代理池的 GPU 设置。 AgentPoolGPUProfile
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
messageOfTheDay 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 字符串
minCount 自动缩放的最小节点数 int
模式 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
名字 Windows 代理池名称必须为 6 个字符或更少。 string (必需)

约束:
Pattern = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeInitializationTaints 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他操作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负荷之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- string[]
nodeLabels 要跨代理池中的所有节点保留的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} 和 {major.minor}。 指定 {major.minor} 后,会自动选择最新的受支持修补程序版本。 创建代理池后,使用相同的 {major.minor} 更新代理池不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS “临时”
“Managed”
osSKU 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
“CBLMariner”
“水手”
“Ubuntu”
“Windows2019”
“Windows2022”
“WindowsAnnual”
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”
securityProfile 代理池的安全设置。 AgentPoolSecurityProfile
spotMaxPrice 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json() 函数。 int 或 json decimal
标签 要保留在代理池虚拟机规模集上的标记。 对象
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
virtualMachineNodesStatus VirtualMachines 代理池中的节点的状态。 VirtualMachineNodes[]
virtualMachinesProfile VirtualMachines 代理池上的规范。 VirtualMachinesProfile
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 确定节点可以运行的工作负荷的类型。 'KataMshvVmIsolation'
“OCIContainer”
“WasmWasi”

AgentPoolArtifactStreamingProfile

名字 描述 价值
启用 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 bool

CreationData

名字 描述 价值
sourceResourceId 这是用于创建目标对象的源对象的 ARM ID。 字符串

AgentPoolGPUProfile

名字 描述 价值
installGPUDriver 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 bool

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 setting fs.aio-max-nr. int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl 设置 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
协议 端口的网络协议。 “TCP”
“UDP”

IPTag

名字 描述 价值
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名字 描述 价值
{自定义属性} 字符串

PowerState

名字 描述 价值
法典 指示群集是正在运行还是已停止 “Running”
“Stopped”

AgentPoolSecurityProfile

名字 描述 价值
enableSecureBoot 安全启动是受信任的启动的一项功能,可确保只有已签名的操作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
enableVTPM vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
sshAccess 代理池的 SSH 访问方法。 “Disabled”
“LocalUser”

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

VirtualMachineNodes

名字 描述 价值
计数 节点数。 int
大小 用于托管此节点组的代理的 VM 大小。 字符串

VirtualMachinesProfile

名字 描述 价值
规模 有关如何缩放 VirtualMachines 代理池的规范。 ScaleProfile

ScaleProfile

名字 描述 价值
手动 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 ManualScaleProfile[]

ManualScaleProfile

名字 描述 价值
计数 节点数。 int

约束:
最小值 = 0
最大值 = 1000
大小 允许的 VM 大小列表。 AKS 将在缩放时使用第一个可用项。 如果 VM 大小不可用(例如由于配额或区域容量原因),AKS 将使用下一个大小。 string[]

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名字 描述 价值
启用 指示 AI 工具链操作员是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名字 描述 价值
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
enableVnetIntegration 是否为群集启用 apiserver vnet 集成。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串
subnetId 当:1 时需要用到它。 使用 BYO Vnet 创建新群集;2. 更新现有群集以启用 apiserver vnet 集成。 字符串

ManagedClusterPropertiesAutoScalerProfile

名字 描述 价值
balance-similar-node-groups 有效值为“true”和“false” 字符串
daemonset-eviction-for-empty-nodes 如果设置为 true,则会在删除节点之前逐出空节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
daemonset-eviction-for-occupied-nodes 如果设置为 true,则会在删除节点之前逐出占用节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
膨胀 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 “最不浪费”
“most-pods”
“priority”
“random”
ignore-daemonsets-utilization 如果设置为 true,则当做出缩减决策时,将考虑守护程序集使用的资源。 bool
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 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“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-unneed-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 默认值为“非托管”,但可能会更改为 GA 中的 NodeImage 或 SecurityPatch。 “NodeImage”
“None”
“SecurityPatch”
“非托管”
upgradeChannel 有关详细信息,请参阅 设置 AKS 群集自动升级通道 “node-image”
“none”
“patch”
“rapid”
“stable”

ManagedClusterAzureMonitorProfile

名字 描述 价值
原木 Azure Monitor 基础结构和应用程序日志的日志配置文件。 收集现装的 Kubernetes 基础结构 & 应用程序日志以发送到 Azure Monitor。 有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileLogs
指标 prometheus 服务加载项的指标配置文件 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileLogs

名字 描述 价值
appMonitoring Kubernetes 应用程序容器的应用程序监视配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过自动检测应用程序来收集应用程序日志、指标和跟踪。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoring
containerInsights 适用于 Kubernetes 事件的 Azure Monitor 容器见解配置文件、清单和容器 stdout & stderr 日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileContainerInsights

ManagedClusterAzureMonitorProfileAppMonitoring

名字 描述 价值
启用 指示应用程序监视是否已启用。 bool

ManagedClusterAzureMonitorProfileContainerInsights

名字 描述 价值
启用 指示是否启用了 Azure Monitor 容器见解日志加载项。 bool
logAnalyticsWorkspaceResourceId 用于存储 Azure Monitor 容器见解日志的 Azure Log Analytics 工作区的完全限定 ARM 资源 ID。 字符串
windowsHostLogs Kubernetes Windows 节点日志收集的 Windows 主机日志配置文件。 收集 ETW、事件日志和文本日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileWindowsHostLogs

ManagedClusterAzureMonitorProfileWindowsHostLogs

名字 描述 价值
启用 指示是否为 Azure Monitor 容器见解日志加载项启用或未启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

名字 描述 价值
appMonitoringOpenTelemetryMetrics Kubernetes 应用程序容器指标的应用程序监视开放遥测指标配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过应用程序的自动检测收集 OpenTelemetry 指标。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...
启用 是否启用 Prometheus 收集器 bool (必需)
kubeStateMetrics 容器服务群集 prometheus 加载项配置文件的 Kube 状态指标 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名字 描述 价值
启用 指示是否启用了应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名字 描述 价值
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表。 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

名字 描述 价值
clientId 用户分配标识的客户端 ID。 字符串
objectId 用户分配标识的对象 ID。 字符串
resourceId 用户分配标识的资源 ID。 字符串

ManagedClusterIngressProfile

名字 描述 价值
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

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

约束:
最大长度 = 5
启用 是否启用 Web 应用路由。 bool

ContainerServiceLinuxProfile

名字 描述 价值
adminUsername 用于 Linux VM 的管理员用户名。 string (必需)

约束:
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 格式(带或不带标头)。 string (必需)

ManagedClusterMetricsProfile

名字 描述 价值
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名字 描述 价值
启用 必须将托管群集 sku.tier 设置为“标准”才能启用此功能。 启用此功能会将 Kubernetes Namespace和部署详细信息添加到 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”
kubeProxyConfig 保留 kube-proxy 的配置自定义。 未定义的任何值都将使用 kube-proxy 默认行为。 请参阅 https://v{version}.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ {version} 由 {major version}-{minor version} 字符串表示的位置。 Kubernetes 版本 1.23 将是“1-23”。 ContainerServiceNetworkProfileKubeProxyConfig
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU “basic”
“standard”
监测 此加载项可用于配置网络监视并生成 Prometheus 格式的网络监视数据 NetworkMonitoring
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 不是“azure”,则无法指定此项。 “bridge”
“transparent”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
“none”
networkPluginMode 用于生成 Kubernetes 网络的网络插件模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
“none”
outboundType 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“userDefinedRouting”
podCidr 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 string[]
serviceCidr 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 字符串

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

ContainerServiceNetworkProfileKubeProxyConfig

名字 描述 价值
启用 是否在群集上的 kube-proxy 上启用(如果没有“kubeProxyConfig”存在),则默认情况下在 AKS 中启用 kube-proxy,而无需进行这些自定义。 bool
ipvsConfig 保存 IPVS 的配置自定义。 仅当“mode”设置为“IPVS”时,才能指定。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
模式 指定要使用的代理模式(“IPTABLES”或“IPVS”) “IPTABLES”
“IPVS”

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名字 描述 价值
调度 IPVS 计划程序,有关详细信息,请参阅 http://www.linuxvirtualserver.org/docs/scheduling.html. “LeastConnection”
“RoundRobin”
tcpFinTimeoutSeconds 接收 FIN 后用于 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
tcpTimeoutSeconds 用于空闲 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
udpTimeoutSeconds 用于 IPVS UDP 数据包的超时值(以秒为单位)。 必须是正整数值。 int

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
outboundIP 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名字 描述 价值
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名字 描述 价值
计数 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

名字 描述 价值
publicIP 公共 IP 资源的列表。 ResourceReference[]

NetworkMonitoring

名字 描述 价值
启用 启用或禁用群集上的网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

名字 描述 价值
计数 Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 int

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

ManagedClusterNodeProvisioningProfile

名字 描述 价值
模式 将模式设置为“自动”后,无法将其更改回手动。 “Auto”
“Manual”

ManagedClusterNodeResourceGroupProfile

名字 描述 价值
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“不受限制”

ManagedClusterOidcIssuerProfile

名字 描述 价值
启用 是否启用 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

名字 描述 价值
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
身份 用户分配的标识详细信息。 UserAssignedIdentity (必需)
名字 Pod 标识的名称。 string (必需)
namespace Pod 标识的命名空间。 string (必需)

ManagedClusterPodIdentityException

名字 描述 价值
名字 Pod 标识异常的名称。 string (必需)
namespace Pod 标识异常的命名空间。 string (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名字 描述 价值
{自定义属性} 字符串

PrivateLinkResource

名字 描述 价值
groupId 资源的组 ID。 字符串
id 专用链接资源的 ID。 字符串
名字 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

SafeguardsProfile

名字 描述 价值
excludedNamespaces 从保护检查中排除的命名空间列表 string[]
水平 要使用的安全措施级别。 默认情况下,除 AKS 通过 systemExcludedNamespaces 排除的命名空间之外,所有命名空间都启用了保护 “强制”
“关闭”
“警告”(必需)
版本 要使用的约束版本 字符串

ManagedClusterSecurityProfile

名字 描述 价值
azureKeyVaultKms Azure Key Vault 安全配置文件的密钥管理服务 设置。 AzureKeyVaultKms
customCATrustCertificates 最多包含 10 个 base64 编码 CA 的列表,这些 CA 将添加到启用了自定义 CA 信任功能的节点上的信任存储。 有关详细信息,请参阅 自定义 CA 信任证书 any[]

约束:
最大长度 = 10
辩护人 Microsoft安全配置文件的 Defender 设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
imageIntegrity 映像完整性是一项功能,适用于 Azure Policy,通过签名验证映像完整性。 除非应用 Azure Policy 来强制实施映像签名,否则这不会有任何影响。 请参阅 https://aka.ms/aks/image-integrity 了解如何通过策略使用此功能。 ManagedClusterSecurityProfileImageIntegrity
nodeRestriction 节点限制 安全配置文件的设置。 ManagedClusterSecurityProfileNodeRestriction
workloadIdentity 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名字 描述 价值
启用 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 bool
keyId Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 意味着 Key Vault 允许从所有网络进行公共访问。 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...

名字 描述 价值
启用 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名字 描述 价值
启用 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名字 描述 价值
启用 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

名字 描述 价值
启用 是否启用工作负荷标识。 bool

ServiceMeshProfile

名字 描述 价值
istio Istio 服务网格配置。 IstioServiceMesh
模式 服务网格的模式。 “Disabled”
“Istio”(必需)

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

名字 描述 价值
插件 服务网格的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名字 描述 价值
certChainObjectName Azure Key Vault 中的证书链对象名称。 字符串
certObjectName Azure Key Vault 中的中间证书对象名称。 字符串
keyObjectName Azure Key Vault 中的中间证书私钥对象名称。 字符串
keyVaultId Key Vault 的资源 ID。 字符串
rootCertObjectName Azure Key Vault 中的根证书对象名称。 字符串

IstioComponents

名字 描述 价值
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名字 描述 价值
启用 是否启用出口网关。 bool (必需)
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名字 描述 价值
{自定义属性} 字符串

IstioIngressGateway

名字 描述 价值
启用 是否启用入口网关。 bool (必需)
模式 入口网关的模式。 “External”
“Internal”(必需)

ManagedClusterServicePrincipalProfile

名字 描述 价值
clientId 服务主体的 ID。 string (必需)
秘密 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterStorageProfile

名字 描述 价值
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名字 描述 价值
启用 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名字 描述 价值
启用 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

名字 描述 价值
启用 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名字 描述 价值
启用 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名字 描述 价值
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名字 描述 价值
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 bool
直到 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 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”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。

最小长度: 1 个字符

最大长度: 20 个字符
string (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
licenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 “None”
“Windows_Server”

WindowsGmsaProfile

名字 描述 价值
dnsServer 指定 Windows gMSA 的 DNS 服务器。

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

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

ManagedClusterWorkloadAutoScalerProfile

名字 描述 价值
keda KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名字 描述 价值
启用 是否启用 KEDA。 bool (必需)

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名字 描述 价值
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 管理的加载项。 “Disabled”
“Enabled”
启用 是否在群集中启用 VPA 加载项。 默认值为 false。 bool (必需)

ManagedClusterSKU

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

快速入门模板

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

模板 描述
在 Azure 容器服务(AKS)上使用 Jenkins CI/CD

部署到 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 群集。
部署托管 Kubernetes 群集(AKS)

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

部署到 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 Azure 容器服务 (AKS)

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

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

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

ARM 模板资源定义

可以使用目标操作部署 managedClusters 资源类型:

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

言论

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

资源格式

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

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2023-11-02-preview",
  "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": [
      {
        "artifactStreamingProfile": {
          "enabled": "bool"
        },
        "availabilityZones": [ "string" ],
        "capacityReservationGroupID": "string",
        "count": "int",
        "creationData": {
          "sourceResourceId": "string"
        },
        "enableAutoScaling": "bool",
        "enableCustomCATrust": "bool",
        "enableEncryptionAtHost": "bool",
        "enableFIPS": "bool",
        "enableNodePublicIP": "bool",
        "enableUltraSSD": "bool",
        "gpuInstanceProfile": "string",
        "gpuProfile": {
          "installGPUDriver": "bool"
        },
        "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",
        "messageOfTheDay": "string",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "networkProfile": {
          "allowedHostPorts": [
            {
              "portEnd": "int",
              "portStart": "int",
              "protocol": "string"
            }
          ],
          "applicationSecurityGroups": [ "string" ],
          "nodePublicIPTags": [
            {
              "ipTagType": "string",
              "tag": "string"
            }
          ]
        },
        "nodeInitializationTaints": [ "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",
        "securityProfile": {
          "enableSecureBoot": "bool",
          "enableVTPM": "bool",
          "sshAccess": "string"
        },
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "type": "string",
        "upgradeSettings": {
          "drainTimeoutInMinutes": "int",
          "maxSurge": "string",
          "nodeSoakDurationInMinutes": "int"
        },
        "virtualMachineNodesStatus": [
          {
            "count": "int",
            "size": "string"
          }
        ],
        "virtualMachinesProfile": {
          "scale": {
            "manual": [
              {
                "count": "int",
                "sizes": [ "string" ]
              }
            ]
          }
        },
        "vmSize": "string",
        "vnetSubnetID": "string",
        "windowsProfile": {
          "disableOutboundNat": "bool"
        },
        "workloadRuntime": "string"
      }
    ],
    "aiToolchainOperatorProfile": {
      "enabled": "bool"
    },
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "disableRunCommand": "bool",
      "enablePrivateCluster": "bool",
      "enablePrivateClusterPublicFQDN": "bool",
      "enableVnetIntegration": "bool",
      "privateDNSZone": "string",
      "subnetId": "string"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "daemonset-eviction-for-empty-nodes": "bool",
      "daemonset-eviction-for-occupied-nodes": "bool",
      "expander": "string",
      "ignore-daemonsets-utilization": "bool",
      "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": {
      "logs": {
        "appMonitoring": {
          "enabled": "bool"
        },
        "containerInsights": {
          "enabled": "bool",
          "logAnalyticsWorkspaceResourceId": "string",
          "windowsHostLogs": {
            "enabled": "bool"
          }
        }
      },
      "metrics": {
        "appMonitoringOpenTelemetryMetrics": {
          "enabled": "bool"
        },
        "enabled": "bool",
        "kubeStateMetrics": {
          "metricAnnotationsAllowList": "string",
          "metricLabelsAllowlist": "string"
        }
      }
    },
    "creationData": {
      "sourceResourceId": "string"
    },
    "disableLocalAccounts": "bool",
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enableNamespaceResources": "bool",
    "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" ],
      "kubeProxyConfig": {
        "enabled": "bool",
        "ipvsConfig": {
          "scheduler": "string",
          "tcpFinTimeoutSeconds": "int",
          "tcpTimeoutSeconds": "int",
          "udpTimeoutSeconds": "int"
        },
        "mode": "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",
      "monitoring": {
        "enabled": "bool"
      },
      "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" ]
    },
    "nodeProvisioningProfile": {
      "mode": "string"
    },
    "nodeResourceGroup": "string",
    "nodeResourceGroupProfile": {
      "restrictionLevel": "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",
    "safeguardsProfile": {
      "excludedNamespaces": [ "string" ],
      "level": "string",
      "version": "string"
    },
    "securityProfile": {
      "azureKeyVaultKms": {
        "enabled": "bool",
        "keyId": "string",
        "keyVaultNetworkAccess": "string",
        "keyVaultResourceId": "string"
      },
      "customCATrustCertificates": [ object ],
      "defender": {
        "logAnalyticsWorkspaceResourceId": "string",
        "securityMonitoring": {
          "enabled": "bool"
        }
      },
      "imageCleaner": {
        "enabled": "bool",
        "intervalHours": "int"
      },
      "imageIntegrity": {
        "enabled": "bool"
      },
      "nodeRestriction": {
        "enabled": "bool"
      },
      "workloadIdentity": {
        "enabled": "bool"
      }
    },
    "serviceMeshProfile": {
      "istio": {
        "certificateAuthority": {
          "plugin": {
            "certChainObjectName": "string",
            "certObjectName": "string",
            "keyObjectName": "string",
            "keyVaultId": "string",
            "rootCertObjectName": "string"
          }
        },
        "components": {
          "egressGateways": [
            {
              "enabled": "bool",
              "nodeSelector": {
                "{customized property}": "string"
              }
            }
          ],
          "ingressGateways": [
            {
              "enabled": "bool",
              "mode": "string"
            }
          ]
        },
        "revisions": [ "string" ]
      },
      "mode": "string"
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "storageProfile": {
      "blobCSIDriver": {
        "enabled": "bool"
      },
      "diskCSIDriver": {
        "enabled": "bool",
        "version": "string"
      },
      "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": {
        "addonAutoscaling": "string",
        "enabled": "bool"
      }
    }
  }
}

属性值

managedClusters

名字 描述 价值
类型 资源类型 “Microsoft.ContainerService/managedClusters”
apiVersion 资源 API 版本 '2023-11-02-preview'
名字 资源名称 string (必需)

字符限制:1-63

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

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

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

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

DelegatedResources

名字 描述 价值
{自定义属性} DelegatedResource

DelegatedResource

名字 描述 价值
位置 源资源位置 - 仅供内部使用。 字符串
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

名字 描述 价值
{自定义属性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名字 描述 价值
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
aiToolchainOperatorProfile 适用于整个群集的 AI 工具链操作员设置。 ManagedClusterAIToolchainOperatorProfile
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 容器服务群集的 Prometheus 加载项配置文件 ManagedClusterAzureMonitorProfile
creationData 如果使用快照创建/升级群集,则用于指定源快照 ID 的 CreationData。 CreationData
disableLocalAccounts 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此功能。 字符串
enableNamespaceResources 默认值为 false。 可以在创建和更新托管群集时启用/禁用它。 有关NAMESPACE作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 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 升级支持的 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
nodeProvisioningProfile 适用于整个群集的节点预配设置。 ManagedClusterNodeProvisioningProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
nodeResourceGroupProfile 节点资源组配置文件。 ManagedClusterNodeResourceGroupProfile
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝 AKS 的公共网络访问 “Disabled”
“Enabled”
“SecuredByPerimeter”
safeguardsProfile 保护配置文件保存给定群集的所有安全措施信息 SafeguardsProfile
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

名字 描述 价值
{自定义属性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名字 描述 价值
配置 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
启用 是否启用加载项。 bool (必需)

ManagedClusterAddonProfileConfig

名字 描述 价值
{自定义属性} 字符串

ManagedClusterAgentPoolProfile

名字 描述 价值
artifactStreamingProfile 用于在 AKS 上使用项目流式传输的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
计数 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 int
creationData 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableCustomCATrust 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认值为 false。 bool
enableEncryptionAtHost 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关详细信息,请参阅 添加启用了 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
gpuProfile 代理池的 GPU 设置。 AgentPoolGPUProfile
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
messageOfTheDay 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 字符串
minCount 自动缩放的最小节点数 int
模式 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
名字 Windows 代理池名称必须为 6 个字符或更少。 string (必需)

约束:
Pattern = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeInitializationTaints 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他操作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负荷之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- string[]
nodeLabels 要跨代理池中的所有节点保留的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} 和 {major.minor}。 指定 {major.minor} 后,会自动选择最新的受支持修补程序版本。 创建代理池后,使用相同的 {major.minor} 更新代理池不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS “临时”
“Managed”
osSKU 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
“CBLMariner”
“水手”
“Ubuntu”
“Windows2019”
“Windows2022”
“WindowsAnnual”
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”
securityProfile 代理池的安全设置。 AgentPoolSecurityProfile
spotMaxPrice 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json() 函数。 int 或 json decimal
标签 要保留在代理池虚拟机规模集上的标记。 对象
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
virtualMachineNodesStatus VirtualMachines 代理池中的节点的状态。 VirtualMachineNodes[]
virtualMachinesProfile VirtualMachines 代理池上的规范。 VirtualMachinesProfile
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 确定节点可以运行的工作负荷的类型。 'KataMshvVmIsolation'
“OCIContainer”
“WasmWasi”

AgentPoolArtifactStreamingProfile

名字 描述 价值
启用 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 bool

CreationData

名字 描述 价值
sourceResourceId 这是用于创建目标对象的源对象的 ARM ID。 字符串

AgentPoolGPUProfile

名字 描述 价值
installGPUDriver 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 bool

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 setting fs.aio-max-nr. int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl 设置 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
协议 端口的网络协议。 “TCP”
“UDP”

IPTag

名字 描述 价值
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名字 描述 价值
{自定义属性} 字符串

PowerState

名字 描述 价值
法典 指示群集是正在运行还是已停止 “Running”
“Stopped”

AgentPoolSecurityProfile

名字 描述 价值
enableSecureBoot 安全启动是受信任的启动的一项功能,可确保只有已签名的操作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
enableVTPM vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
sshAccess 代理池的 SSH 访问方法。 “Disabled”
“LocalUser”

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

VirtualMachineNodes

名字 描述 价值
计数 节点数。 int
大小 用于托管此节点组的代理的 VM 大小。 字符串

VirtualMachinesProfile

名字 描述 价值
规模 有关如何缩放 VirtualMachines 代理池的规范。 ScaleProfile

ScaleProfile

名字 描述 价值
手动 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 ManualScaleProfile[]

ManualScaleProfile

名字 描述 价值
计数 节点数。 int

约束:
最小值 = 0
最大值 = 1000
大小 允许的 VM 大小列表。 AKS 将在缩放时使用第一个可用项。 如果 VM 大小不可用(例如由于配额或区域容量原因),AKS 将使用下一个大小。 string[]

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名字 描述 价值
启用 指示 AI 工具链操作员是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名字 描述 价值
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
enableVnetIntegration 是否为群集启用 apiserver vnet 集成。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串
subnetId 当:1 时需要用到它。 使用 BYO Vnet 创建新群集;2. 更新现有群集以启用 apiserver vnet 集成。 字符串

ManagedClusterPropertiesAutoScalerProfile

名字 描述 价值
balance-similar-node-groups 有效值为“true”和“false” 字符串
daemonset-eviction-for-empty-nodes 如果设置为 true,则会在删除节点之前逐出空节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
daemonset-eviction-for-occupied-nodes 如果设置为 true,则会在删除节点之前逐出占用节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
膨胀 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 “最不浪费”
“most-pods”
“priority”
“random”
ignore-daemonsets-utilization 如果设置为 true,则当做出缩减决策时,将考虑守护程序集使用的资源。 bool
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 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“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-unneed-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 默认值为“非托管”,但可能会更改为 GA 中的 NodeImage 或 SecurityPatch。 “NodeImage”
“None”
“SecurityPatch”
“非托管”
upgradeChannel 有关详细信息,请参阅 设置 AKS 群集自动升级通道 “node-image”
“none”
“patch”
“rapid”
“stable”

ManagedClusterAzureMonitorProfile

名字 描述 价值
原木 Azure Monitor 基础结构和应用程序日志的日志配置文件。 收集现装的 Kubernetes 基础结构 & 应用程序日志以发送到 Azure Monitor。 有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileLogs
指标 prometheus 服务加载项的指标配置文件 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileLogs

名字 描述 价值
appMonitoring Kubernetes 应用程序容器的应用程序监视配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过自动检测应用程序来收集应用程序日志、指标和跟踪。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoring
containerInsights 适用于 Kubernetes 事件的 Azure Monitor 容器见解配置文件、清单和容器 stdout & stderr 日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileContainerInsights

ManagedClusterAzureMonitorProfileAppMonitoring

名字 描述 价值
启用 指示应用程序监视是否已启用。 bool

ManagedClusterAzureMonitorProfileContainerInsights

名字 描述 价值
启用 指示是否启用了 Azure Monitor 容器见解日志加载项。 bool
logAnalyticsWorkspaceResourceId 用于存储 Azure Monitor 容器见解日志的 Azure Log Analytics 工作区的完全限定 ARM 资源 ID。 字符串
windowsHostLogs Kubernetes Windows 节点日志收集的 Windows 主机日志配置文件。 收集 ETW、事件日志和文本日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileWindowsHostLogs

ManagedClusterAzureMonitorProfileWindowsHostLogs

名字 描述 价值
启用 指示是否为 Azure Monitor 容器见解日志加载项启用或未启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

名字 描述 价值
appMonitoringOpenTelemetryMetrics Kubernetes 应用程序容器指标的应用程序监视开放遥测指标配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过应用程序的自动检测收集 OpenTelemetry 指标。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...
启用 是否启用 Prometheus 收集器 bool (必需)
kubeStateMetrics 容器服务群集 prometheus 加载项配置文件的 Kube 状态指标 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名字 描述 价值
启用 指示是否启用了应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名字 描述 价值
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表。 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

名字 描述 价值
clientId 用户分配标识的客户端 ID。 字符串
objectId 用户分配标识的对象 ID。 字符串
resourceId 用户分配标识的资源 ID。 字符串

ManagedClusterIngressProfile

名字 描述 价值
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

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

约束:
最大长度 = 5
启用 是否启用 Web 应用路由。 bool

ContainerServiceLinuxProfile

名字 描述 价值
adminUsername 用于 Linux VM 的管理员用户名。 string (必需)

约束:
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 格式(带或不带标头)。 string (必需)

ManagedClusterMetricsProfile

名字 描述 价值
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名字 描述 价值
启用 必须将托管群集 sku.tier 设置为“标准”才能启用此功能。 启用此功能会将 Kubernetes Namespace和部署详细信息添加到 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”
kubeProxyConfig 保留 kube-proxy 的配置自定义。 未定义的任何值都将使用 kube-proxy 默认行为。 请参阅 https://v{version}.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ {version} 由 {major version}-{minor version} 字符串表示的位置。 Kubernetes 版本 1.23 将是“1-23”。 ContainerServiceNetworkProfileKubeProxyConfig
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU “basic”
“standard”
监测 此加载项可用于配置网络监视并生成 Prometheus 格式的网络监视数据 NetworkMonitoring
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 不是“azure”,则无法指定此项。 “bridge”
“transparent”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
“none”
networkPluginMode 用于生成 Kubernetes 网络的网络插件模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
“none”
outboundType 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“userDefinedRouting”
podCidr 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 string[]
serviceCidr 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 字符串

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

ContainerServiceNetworkProfileKubeProxyConfig

名字 描述 价值
启用 是否在群集上的 kube-proxy 上启用(如果没有“kubeProxyConfig”存在),则默认情况下在 AKS 中启用 kube-proxy,而无需进行这些自定义。 bool
ipvsConfig 保存 IPVS 的配置自定义。 仅当“mode”设置为“IPVS”时,才能指定。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
模式 指定要使用的代理模式(“IPTABLES”或“IPVS”) “IPTABLES”
“IPVS”

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名字 描述 价值
调度 IPVS 计划程序,有关详细信息,请参阅 http://www.linuxvirtualserver.org/docs/scheduling.html. “LeastConnection”
“RoundRobin”
tcpFinTimeoutSeconds 接收 FIN 后用于 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
tcpTimeoutSeconds 用于空闲 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
udpTimeoutSeconds 用于 IPVS UDP 数据包的超时值(以秒为单位)。 必须是正整数值。 int

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
outboundIP 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名字 描述 价值
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名字 描述 价值
计数 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

名字 描述 价值
publicIP 公共 IP 资源的列表。 ResourceReference[]

NetworkMonitoring

名字 描述 价值
启用 启用或禁用群集上的网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

名字 描述 价值
计数 Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 int

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

ManagedClusterNodeProvisioningProfile

名字 描述 价值
模式 将模式设置为“自动”后,无法将其更改回手动。 “Auto”
“Manual”

ManagedClusterNodeResourceGroupProfile

名字 描述 价值
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“不受限制”

ManagedClusterOidcIssuerProfile

名字 描述 价值
启用 是否启用 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

名字 描述 价值
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
身份 用户分配的标识详细信息。 UserAssignedIdentity (必需)
名字 Pod 标识的名称。 string (必需)
namespace Pod 标识的命名空间。 string (必需)

ManagedClusterPodIdentityException

名字 描述 价值
名字 Pod 标识异常的名称。 string (必需)
namespace Pod 标识异常的命名空间。 string (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名字 描述 价值
{自定义属性} 字符串

PrivateLinkResource

名字 描述 价值
groupId 资源的组 ID。 字符串
id 专用链接资源的 ID。 字符串
名字 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

SafeguardsProfile

名字 描述 价值
excludedNamespaces 从保护检查中排除的命名空间列表 string[]
水平 要使用的安全措施级别。 默认情况下,除 AKS 通过 systemExcludedNamespaces 排除的命名空间之外,所有命名空间都启用了保护 “强制”
“关闭”
“警告”(必需)
版本 要使用的约束版本 字符串

ManagedClusterSecurityProfile

名字 描述 价值
azureKeyVaultKms Azure Key Vault 安全配置文件的密钥管理服务 设置。 AzureKeyVaultKms
customCATrustCertificates 最多包含 10 个 base64 编码 CA 的列表,这些 CA 将添加到启用了自定义 CA 信任功能的节点上的信任存储。 有关详细信息,请参阅 自定义 CA 信任证书 any[]

约束:
最大长度 = 10
辩护人 Microsoft安全配置文件的 Defender 设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
imageIntegrity 映像完整性是一项功能,适用于 Azure Policy,通过签名验证映像完整性。 除非应用 Azure Policy 来强制实施映像签名,否则这不会有任何影响。 请参阅 https://aka.ms/aks/image-integrity 了解如何通过策略使用此功能。 ManagedClusterSecurityProfileImageIntegrity
nodeRestriction 节点限制 安全配置文件的设置。 ManagedClusterSecurityProfileNodeRestriction
workloadIdentity 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名字 描述 价值
启用 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 bool
keyId Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 意味着 Key Vault 允许从所有网络进行公共访问。 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...

名字 描述 价值
启用 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名字 描述 价值
启用 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名字 描述 价值
启用 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

名字 描述 价值
启用 是否启用工作负荷标识。 bool

ServiceMeshProfile

名字 描述 价值
istio Istio 服务网格配置。 IstioServiceMesh
模式 服务网格的模式。 “Disabled”
“Istio”(必需)

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

名字 描述 价值
插件 服务网格的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名字 描述 价值
certChainObjectName Azure Key Vault 中的证书链对象名称。 字符串
certObjectName Azure Key Vault 中的中间证书对象名称。 字符串
keyObjectName Azure Key Vault 中的中间证书私钥对象名称。 字符串
keyVaultId Key Vault 的资源 ID。 字符串
rootCertObjectName Azure Key Vault 中的根证书对象名称。 字符串

IstioComponents

名字 描述 价值
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名字 描述 价值
启用 是否启用出口网关。 bool (必需)
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名字 描述 价值
{自定义属性} 字符串

IstioIngressGateway

名字 描述 价值
启用 是否启用入口网关。 bool (必需)
模式 入口网关的模式。 “External”
“Internal”(必需)

ManagedClusterServicePrincipalProfile

名字 描述 价值
clientId 服务主体的 ID。 string (必需)
秘密 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterStorageProfile

名字 描述 价值
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名字 描述 价值
启用 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名字 描述 价值
启用 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

名字 描述 价值
启用 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名字 描述 价值
启用 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名字 描述 价值
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名字 描述 价值
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 bool
直到 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 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”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。

最小长度: 1 个字符

最大长度: 20 个字符
string (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
licenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 “None”
“Windows_Server”

WindowsGmsaProfile

名字 描述 价值
dnsServer 指定 Windows gMSA 的 DNS 服务器。

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

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

ManagedClusterWorkloadAutoScalerProfile

名字 描述 价值
keda KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名字 描述 价值
启用 是否启用 KEDA。 bool (必需)

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名字 描述 价值
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 管理的加载项。 “Disabled”
“Enabled”
启用 是否在群集中启用 VPA 加载项。 默认值为 false。 bool (必需)

ManagedClusterSKU

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

快速入门模板

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

模板 描述
在 Azure 容器服务(AKS)上使用 Jenkins CI/CD

部署到 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 群集。
部署托管 Kubernetes 群集(AKS)

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

部署到 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 Azure 容器服务 (AKS)

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

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

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

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

可以使用目标操作部署 managedClusters 资源类型:

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2023-11-02-preview"
  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 = [
        {
          artifactStreamingProfile = {
            enabled = bool
          }
          availabilityZones = [
            "string"
          ]
          capacityReservationGroupID = "string"
          count = int
          creationData = {
            sourceResourceId = "string"
          }
          enableAutoScaling = bool
          enableCustomCATrust = bool
          enableEncryptionAtHost = bool
          enableFIPS = bool
          enableNodePublicIP = bool
          enableUltraSSD = bool
          gpuInstanceProfile = "string"
          gpuProfile = {
            installGPUDriver = bool
          }
          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
          messageOfTheDay = "string"
          minCount = int
          mode = "string"
          name = "string"
          networkProfile = {
            allowedHostPorts = [
              {
                portEnd = int
                portStart = int
                protocol = "string"
              }
            ]
            applicationSecurityGroups = [
              "string"
            ]
            nodePublicIPTags = [
              {
                ipTagType = "string"
                tag = "string"
              }
            ]
          }
          nodeInitializationTaints = [
            "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"
          securityProfile = {
            enableSecureBoot = bool
            enableVTPM = bool
            sshAccess = "string"
          }
          spotMaxPrice = "decimal-as-string"
          tags = {}
          type = "string"
          upgradeSettings = {
            drainTimeoutInMinutes = int
            maxSurge = "string"
            nodeSoakDurationInMinutes = int
          }
          virtualMachineNodesStatus = [
            {
              count = int
              size = "string"
            }
          ]
          virtualMachinesProfile = {
            scale = {
              manual = [
                {
                  count = int
                  sizes = [
                    "string"
                  ]
                }
              ]
            }
          }
          vmSize = "string"
          vnetSubnetID = "string"
          windowsProfile = {
            disableOutboundNat = bool
          }
          workloadRuntime = "string"
        }
      ]
      aiToolchainOperatorProfile = {
        enabled = bool
      }
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        disableRunCommand = bool
        enablePrivateCluster = bool
        enablePrivateClusterPublicFQDN = bool
        enableVnetIntegration = bool
        privateDNSZone = "string"
        subnetId = "string"
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        daemonset-eviction-for-empty-nodes = bool
        daemonset-eviction-for-occupied-nodes = bool
        expander = "string"
        ignore-daemonsets-utilization = bool
        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 = {
        logs = {
          appMonitoring = {
            enabled = bool
          }
          containerInsights = {
            enabled = bool
            logAnalyticsWorkspaceResourceId = "string"
            windowsHostLogs = {
              enabled = bool
            }
          }
        }
        metrics = {
          appMonitoringOpenTelemetryMetrics = {
            enabled = bool
          }
          enabled = bool
          kubeStateMetrics = {
            metricAnnotationsAllowList = "string"
            metricLabelsAllowlist = "string"
          }
        }
      }
      creationData = {
        sourceResourceId = "string"
      }
      disableLocalAccounts = bool
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enableNamespaceResources = bool
      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"
        ]
        kubeProxyConfig = {
          enabled = bool
          ipvsConfig = {
            scheduler = "string"
            tcpFinTimeoutSeconds = int
            tcpTimeoutSeconds = int
            udpTimeoutSeconds = int
          }
          mode = "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"
        monitoring = {
          enabled = bool
        }
        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"
        ]
      }
      nodeProvisioningProfile = {
        mode = "string"
      }
      nodeResourceGroup = "string"
      nodeResourceGroupProfile = {
        restrictionLevel = "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"
      safeguardsProfile = {
        excludedNamespaces = [
          "string"
        ]
        level = "string"
        version = "string"
      }
      securityProfile = {
        azureKeyVaultKms = {
          enabled = bool
          keyId = "string"
          keyVaultNetworkAccess = "string"
          keyVaultResourceId = "string"
        }
        customCATrustCertificates = [ object ]
        defender = {
          logAnalyticsWorkspaceResourceId = "string"
          securityMonitoring = {
            enabled = bool
          }
        }
        imageCleaner = {
          enabled = bool
          intervalHours = int
        }
        imageIntegrity = {
          enabled = bool
        }
        nodeRestriction = {
          enabled = bool
        }
        workloadIdentity = {
          enabled = bool
        }
      }
      serviceMeshProfile = {
        istio = {
          certificateAuthority = {
            plugin = {
              certChainObjectName = "string"
              certObjectName = "string"
              keyObjectName = "string"
              keyVaultId = "string"
              rootCertObjectName = "string"
            }
          }
          components = {
            egressGateways = [
              {
                enabled = bool
                nodeSelector = {
                  {customized property} = "string"
                }
              }
            ]
            ingressGateways = [
              {
                enabled = bool
                mode = "string"
              }
            ]
          }
          revisions = [
            "string"
          ]
        }
        mode = "string"
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      storageProfile = {
        blobCSIDriver = {
          enabled = bool
        }
        diskCSIDriver = {
          enabled = bool
          version = "string"
        }
        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 = {
          addonAutoscaling = "string"
          enabled = bool
        }
      }
    }
    sku = {
      name = "Base"
      tier = "string"
    }
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
  })
}

属性值

managedClusters

名字 描述 价值
类型 资源类型 “Microsoft.ContainerService/managedClusters@2023-11-02-preview”
名字 资源名称 string (必需)

字符限制:1-63

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

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

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 字符串
类型 扩展位置的类型。 “EdgeZone”

ManagedClusterIdentity

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

DelegatedResources

名字 描述 价值
{自定义属性} DelegatedResource

DelegatedResource

名字 描述 价值
位置 源资源位置 - 仅供内部使用。 字符串
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

名字 描述 价值
{自定义属性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名字 描述 价值
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
aiToolchainOperatorProfile 适用于整个群集的 AI 工具链操作员设置。 ManagedClusterAIToolchainOperatorProfile
apiServerAccessProfile 托管群集 API 服务器的访问配置文件。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 启用时要应用于群集自动缩放程序的参数 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自动升级配置。 ManagedClusterAutoUpgradeProfile
azureMonitorProfile 容器服务群集的 Prometheus 加载项配置文件 ManagedClusterAzureMonitorProfile
creationData 如果使用快照创建/升级群集,则用于指定源快照 ID 的 CreationData。 CreationData
disableLocalAccounts 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户 bool
diskEncryptionSetID 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” 字符串
dnsPrefix 创建托管群集后,无法更新此功能。 字符串
enableNamespaceResources 默认值为 false。 可以在创建和更新托管群集时启用/禁用它。 有关NAMESPACE作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 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 升级支持的 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
nodeProvisioningProfile 适用于整个群集的节点预配设置。 ManagedClusterNodeProvisioningProfile
nodeResourceGroup 包含代理池节点的资源组的名称。 字符串
nodeResourceGroupProfile 节点资源组配置文件。 ManagedClusterNodeResourceGroupProfile
oidcIssuerProfile 托管群集的 OIDC 颁发者配置文件。 ManagedClusterOidcIssuerProfile
podIdentityProfile 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识 ManagedClusterPodIdentityProfile
privateLinkResources 与群集关联的专用链接资源。 PrivateLinkResource[]
publicNetworkAccess 允许或拒绝 AKS 的公共网络访问 “Disabled”
“已启用”
“SecuredByPerimeter”
safeguardsProfile 保护配置文件保存给定群集的所有安全措施信息 SafeguardsProfile
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

名字 描述 价值
{自定义属性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名字 描述 价值
配置 用于配置加载项的键值对。 ManagedClusterAddonProfileConfig
启用 是否启用加载项。 bool (必需)

ManagedClusterAddonProfileConfig

名字 描述 价值
{自定义属性} 字符串

ManagedClusterAgentPoolProfile

名字 描述 价值
artifactStreamingProfile 用于在 AKS 上使用项目流式传输的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
计数 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 int
creationData 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 CreationData
enableAutoScaling 是否启用自动缩放程序 bool
enableCustomCATrust 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认值为 false。 bool
enableEncryptionAtHost 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption bool
enableFIPS 有关详细信息,请参阅 添加启用了 FIPS 的节点池 bool
enableNodePublicIP 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 bool
enableUltraSSD 是否启用 UltraSSD bool
gpuInstanceProfile 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
gpuProfile 代理池的 GPU 设置。 AgentPoolGPUProfile
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
messageOfTheDay 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 字符串
minCount 自动缩放的最小节点数 int
模式 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “系统”
“User”
名字 Windows 代理池名称必须为 6 个字符或更少。 string (必需)

约束:
Pattern = ^[a-z][a-z0-9]{0,11}$
networkProfile 代理池的网络相关设置。 AgentPoolNetworkProfile
nodeInitializationTaints 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他操作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负荷之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- string[]
nodeLabels 要跨代理池中的所有节点保留的节点标签。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字符串
nodeTaints 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支持修补程序版本 {major.minor.patch} 和 {major.minor}。 指定 {major.minor} 后,会自动选择最新的受支持修补程序版本。 创建代理池后,使用相同的 {major.minor} 更新代理池不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池 字符串
osDiskSizeGB OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 int

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS “临时”
“托管”
osSKU 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
“CBLMariner”
“水手”
“Ubuntu”
“Windows2019”
“Windows2022”
“WindowsAnnual”
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。 “解除分配”
“Delete”
scaleSetEvictionPolicy 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 “解除分配”
“Delete”
scaleSetPriority 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 “Regular”
“现成”
securityProfile 代理池的安全设置。 AgentPoolSecurityProfile
spotMaxPrice 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 指定十进制值作为字符串。 int 或 json decimal
标签 要保留在代理池虚拟机规模集上的标记。 对象
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
virtualMachineNodesStatus VirtualMachines 代理池中的节点的状态。 VirtualMachineNodes[]
virtualMachinesProfile VirtualMachines 代理池上的规范。 VirtualMachinesProfile
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 确定节点可以运行的工作负荷的类型。 “KataMshvVmIsolation”
“OCIContainer”
“WasmWasi”

AgentPoolArtifactStreamingProfile

名字 描述 价值
启用 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 bool

CreationData

名字 描述 价值
sourceResourceId 这是用于创建目标对象的源对象的 ARM ID。 字符串

AgentPoolGPUProfile

名字 描述 价值
installGPUDriver 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 bool

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 setting fs.aio-max-nr. int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl 设置 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
协议 端口的网络协议。 “TCP”
“UDP”

IPTag

名字 描述 价值
ipTagType IP 标记类型。 示例:RoutingPreference。 字符串
标记 与公共 IP 关联的 IP 标记的值。 示例:Internet。 字符串

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名字 描述 价值
{自定义属性} 字符串

PowerState

名字 描述 价值
法典 指示群集是正在运行还是已停止 “正在运行”
“已停止”

AgentPoolSecurityProfile

名字 描述 价值
enableSecureBoot 安全启动是受信任的启动的一项功能,可确保只有已签名的操作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
enableVTPM vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 bool
sshAccess 代理池的 SSH 访问方法。 “Disabled”
“LocalUser”

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

VirtualMachineNodes

名字 描述 价值
计数 节点数。 int
大小 用于托管此节点组的代理的 VM 大小。 字符串

VirtualMachinesProfile

名字 描述 价值
规模 有关如何缩放 VirtualMachines 代理池的规范。 ScaleProfile

ScaleProfile

名字 描述 价值
手动 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 ManualScaleProfile[]

ManualScaleProfile

名字 描述 价值
计数 节点数。 int

约束:
最小值 = 0
最大值 = 1000
大小 允许的 VM 大小列表。 AKS 将在缩放时使用第一个可用项。 如果 VM 大小不可用(例如由于配额或区域容量原因),AKS 将使用下一个大小。 string[]

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名字 描述 价值
启用 指示 AI 工具链操作员是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名字 描述 价值
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围 string[]
disableRunCommand 是否禁用群集的 run 命令。 bool
enablePrivateCluster 有关详细信息,请参阅 创建专用 AKS 群集 bool
enablePrivateClusterPublicFQDN 是否为专用群集创建其他公共 FQDN。 bool
enableVnetIntegration 是否为群集启用 apiserver vnet 集成。 bool
privateDNSZone 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 字符串
subnetId 当:1 时需要用到它。 使用 BYO Vnet 创建新群集;2. 更新现有群集以启用 apiserver vnet 集成。 字符串

ManagedClusterPropertiesAutoScalerProfile

名字 描述 价值
balance-similar-node-groups 有效值为“true”和“false” 字符串
daemonset-eviction-for-empty-nodes 如果设置为 true,则会在删除节点之前逐出空节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
daemonset-eviction-for-occupied-nodes 如果设置为 true,则会在删除节点之前逐出占用节点上的所有守护程序集 Pod。 如果无法逐出守护程序集 Pod,则会选择另一个节点进行缩放。 如果设置为 false,则会删除节点,而无需确保删除或逐出守护程序集 Pod。 bool
膨胀 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 “最小浪费”
“most-pods”
“priority”
“random”
ignore-daemonsets-utilization 如果设置为 true,则当做出缩减决策时,将考虑守护程序集使用的资源。 bool
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 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“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-unneed-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 默认值为“非托管”,但可能会更改为 GA 中的 NodeImage 或 SecurityPatch。 “NodeImage”
“None”
“SecurityPatch”
“非托管”
upgradeChannel 有关详细信息,请参阅 设置 AKS 群集自动升级通道 “node-image”
“none”
“patch”
“rapid”
“稳定”

ManagedClusterAzureMonitorProfile

名字 描述 价值
原木 Azure Monitor 基础结构和应用程序日志的日志配置文件。 收集现装的 Kubernetes 基础结构 & 应用程序日志以发送到 Azure Monitor。 有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileLogs
指标 prometheus 服务加载项的指标配置文件 ManagedClusterAzureMonitorProfileMetrics

ManagedClusterAzureMonitorProfileLogs

名字 描述 价值
appMonitoring Kubernetes 应用程序容器的应用程序监视配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过自动检测应用程序来收集应用程序日志、指标和跟踪。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoring
containerInsights 适用于 Kubernetes 事件的 Azure Monitor 容器见解配置文件、清单和容器 stdout & stderr 日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileContainerInsights

ManagedClusterAzureMonitorProfileAppMonitoring

名字 描述 价值
启用 指示应用程序监视是否已启用。 bool

ManagedClusterAzureMonitorProfileContainerInsights

名字 描述 价值
启用 指示是否启用了 Azure Monitor 容器见解日志加载项。 bool
logAnalyticsWorkspaceResourceId 用于存储 Azure Monitor 容器见解日志的 Azure Log Analytics 工作区的完全限定 ARM 资源 ID。 字符串
windowsHostLogs Kubernetes Windows 节点日志收集的 Windows 主机日志配置文件。 收集 ETW、事件日志和文本日志等。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileWindowsHostLogs

ManagedClusterAzureMonitorProfileWindowsHostLogs

名字 描述 价值
启用 指示是否为 Azure Monitor 容器见解日志加载项启用或未启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

名字 描述 价值
appMonitoringOpenTelemetryMetrics Kubernetes 应用程序容器指标的应用程序监视开放遥测指标配置文件。 使用基于 Azure Monitor OpenTelemetry 的 SDK 通过应用程序的自动检测收集 OpenTelemetry 指标。 有关概述,请参阅 aka.ms/AzureMonitorApplicationMonitoring。 ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...
启用 是否启用 Prometheus 收集器 bool (必需)
kubeStateMetrics 容器服务群集 prometheus 加载项配置文件的 Kube 状态指标 ManagedClusterAzureMonitorProfileKubeStateMetrics

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名字 描述 价值
启用 指示是否启用了应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名字 描述 价值
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表。 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名字 描述 价值
{自定义属性} UserAssignedIdentity

UserAssignedIdentity

名字 描述 价值
clientId 用户分配标识的客户端 ID。 字符串
objectId 用户分配标识的对象 ID。 字符串
resourceId 用户分配标识的资源 ID。 字符串

ManagedClusterIngressProfile

名字 描述 价值
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

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

约束:
最大长度 = 5
启用 是否启用 Web 应用路由。 bool

ContainerServiceLinuxProfile

名字 描述 价值
adminUsername 用于 Linux VM 的管理员用户名。 string (必需)

约束:
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 格式(带或不带标头)。 string (必需)

ManagedClusterMetricsProfile

名字 描述 价值
costAnalysis 群集的成本分析配置 ManagedClusterCostAnalysis

ManagedClusterCostAnalysis

名字 描述 价值
启用 必须将托管群集 sku.tier 设置为“标准”才能启用此功能。 启用此功能会将 Kubernetes Namespace和部署详细信息添加到 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”
kubeProxyConfig 保留 kube-proxy 的配置自定义。 未定义的任何值都将使用 kube-proxy 默认行为。 请参阅 https://v{version}.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ {version} 由 {major version}-{minor version} 字符串表示的位置。 Kubernetes 版本 1.23 将是“1-23”。 ContainerServiceNetworkProfileKubeProxyConfig
loadBalancerProfile 群集负载均衡器的配置文件。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU “basic”
“standard”
监测 此加载项可用于配置网络监视并生成 Prometheus 格式的网络监视数据 NetworkMonitoring
natGatewayProfile 群集 NAT 网关的配置文件。 ManagedClusterNATGatewayProfile
networkDataplane Kubernetes 群集中使用的网络数据平面。 “azure”
“cilium”
networkMode 如果 networkPlugin 不是“azure”,则无法指定此项。 “bridge”
“transparent”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
“none”
networkPluginMode 用于生成 Kubernetes 网络的网络插件模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
“none”
outboundType 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“userDefinedRouting”
podCidr 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 字符串

约束:
Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 string[]
serviceCidr 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 字符串

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

ContainerServiceNetworkProfileKubeProxyConfig

名字 描述 价值
启用 是否在群集上的 kube-proxy 上启用(如果没有“kubeProxyConfig”存在),则默认情况下在 AKS 中启用 kube-proxy,而无需进行这些自定义。 bool
ipvsConfig 保存 IPVS 的配置自定义。 仅当“mode”设置为“IPVS”时,才能指定。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
模式 指定要使用的代理模式(“IPTABLES”或“IPVS”) “IPTABLES”
“IPVS”

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名字 描述 价值
调度 IPVS 计划程序,有关详细信息,请参阅 http://www.linuxvirtualserver.org/docs/scheduling.html. “LeastConnection”
“RoundRobin”
tcpFinTimeoutSeconds 接收 FIN 后用于 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
tcpTimeoutSeconds 用于空闲 IPVS TCP 会话的超时值(以秒为单位)。 必须是正整数值。 int
udpTimeoutSeconds 用于 IPVS UDP 数据包的超时值(以秒为单位)。 必须是正整数值。 int

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
outboundIP 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名字 描述 价值
id 完全限定的 Azure 资源 ID。 字符串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名字 描述 价值
计数 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

名字 描述 价值
publicIP 公共 IP 资源的列表。 ResourceReference[]

NetworkMonitoring

名字 描述 价值
启用 启用或禁用群集上的网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

名字 描述 价值
计数 Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 int

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

ManagedClusterNodeProvisioningProfile

名字 描述 价值
模式 将模式设置为“自动”后,无法将其更改回手动。 “Auto”
“手动”

ManagedClusterNodeResourceGroupProfile

名字 描述 价值
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“不受限制”

ManagedClusterOidcIssuerProfile

名字 描述 价值
启用 是否启用 OIDC 颁发者。 bool

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

名字 描述 价值
bindingSelector 要用于 AzureIdentityBinding 资源的绑定选择器。 字符串
身份 用户分配的标识详细信息。 UserAssignedIdentity (必需)
名字 Pod 标识的名称。 string (必需)
namespace Pod 标识的命名空间。 string (必需)

ManagedClusterPodIdentityException

名字 描述 价值
名字 Pod 标识异常的名称。 string (必需)
namespace Pod 标识异常的命名空间。 string (必需)
podLabels 要匹配的 Pod 标签。 ManagedClusterPodIdentityExceptionPodLabels (必需)

ManagedClusterPodIdentityExceptionPodLabels

名字 描述 价值
{自定义属性} 字符串

PrivateLinkResource

名字 描述 价值
groupId 资源的组 ID。 字符串
id 专用链接资源的 ID。 字符串
名字 专用链接资源的名称。 字符串
requiredMembers 资源的 RequiredMembers string[]
类型 资源类型。 字符串

SafeguardsProfile

名字 描述 价值
excludedNamespaces 从保护检查中排除的命名空间列表 string[]
水平 要使用的安全措施级别。 默认情况下,除 AKS 通过 systemExcludedNamespaces 排除的命名空间之外,所有命名空间都启用了保护 “强制”
“关闭”
“警告”(必需)
版本 要使用的约束版本 字符串

ManagedClusterSecurityProfile

名字 描述 价值
azureKeyVaultKms Azure Key Vault 安全配置文件的密钥管理服务 设置。 AzureKeyVaultKms
customCATrustCertificates 最多包含 10 个 base64 编码 CA 的列表,这些 CA 将添加到启用了自定义 CA 信任功能的节点上的信任存储。 有关详细信息,请参阅 自定义 CA 信任证书 any[]

约束:
最大长度 = 10
辩护人 Microsoft安全配置文件的 Defender 设置。 ManagedClusterSecurityProfileDefender
imageCleaner 安全配置文件的图像清理器设置。 ManagedClusterSecurityProfileImageCleaner
imageIntegrity 映像完整性是一项功能,适用于 Azure Policy,通过签名验证映像完整性。 除非应用 Azure Policy 来强制实施映像签名,否则这不会有任何影响。 请参阅 https://aka.ms/aks/image-integrity 了解如何通过策略使用此功能。 ManagedClusterSecurityProfileImageIntegrity
nodeRestriction 节点限制 安全配置文件的设置。 ManagedClusterSecurityProfileNodeRestriction
workloadIdentity 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi ManagedClusterSecurityProfileWorkloadIdentity

AzureKeyVaultKms

名字 描述 价值
启用 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 bool
keyId Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 字符串
keyVaultNetworkAccess 密钥保管库的网络访问。 可能的值为 PublicPrivatePublic 意味着 Key Vault 允许从所有网络进行公共访问。 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...

名字 描述 价值
启用 是否启用 Defender 威胁检测 bool

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名字 描述 价值
启用 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名字 描述 价值
启用 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

名字 描述 价值
启用 是否启用工作负荷标识。 bool

ServiceMeshProfile

名字 描述 价值
istio Istio 服务网格配置。 IstioServiceMesh
模式 服务网格的模式。 “Disabled”
“Istio”(必需)

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

名字 描述 价值
插件 服务网格的插件证书信息。 IstioPluginCertificateAuthority

IstioPluginCertificateAuthority

名字 描述 价值
certChainObjectName Azure Key Vault 中的证书链对象名称。 字符串
certObjectName Azure Key Vault 中的中间证书对象名称。 字符串
keyObjectName Azure Key Vault 中的中间证书私钥对象名称。 字符串
keyVaultId Key Vault 的资源 ID。 字符串
rootCertObjectName Azure Key Vault 中的根证书对象名称。 字符串

IstioComponents

名字 描述 价值
egressGateways Istio 出口网关。 IstioEgressGateway[]
ingressGateways Istio 入口网关。 IstioIngressGateway[]

IstioEgressGateway

名字 描述 价值
启用 是否启用出口网关。 bool (必需)
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名字 描述 价值
{自定义属性} 字符串

IstioIngressGateway

名字 描述 价值
启用 是否启用入口网关。 bool (必需)
模式 入口网关的模式。 “外部”
“内部”(必需)

ManagedClusterServicePrincipalProfile

名字 描述 价值
clientId 服务主体的 ID。 string (必需)
秘密 以纯文本形式与服务主体关联的机密密码。 字符串

ManagedClusterStorageProfile

名字 描述 价值
blobCSIDriver 存储配置文件的 AzureBlob CSI 驱动程序设置。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 存储配置文件的 AzureDisk CSI 驱动程序设置。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 存储配置文件的 AzureFile CSI 驱动程序设置。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 存储配置文件的快照控制器设置。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名字 描述 价值
启用 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名字 描述 价值
启用 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

名字 描述 价值
启用 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 bool

ManagedClusterStorageProfileSnapshotController

名字 描述 价值
启用 是否启用快照控制器。 默认值为 true。 bool

ClusterUpgradeSettings

名字 描述 价值
overrideSettings 替代的设置。 UpgradeOverrideSettings

UpgradeOverrideSettings

名字 描述 价值
forceUpgrade 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 bool
直到 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 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”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。

最小长度: 1 个字符

最大长度: 20 个字符
string (必需)
enableCSIProxy 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库 bool
gmsaProfile 托管群集中的 Windows gMSA 配置文件。 WindowsGmsaProfile
licenseType 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益 “None”
“Windows_Server”

WindowsGmsaProfile

名字 描述 价值
dnsServer 指定 Windows gMSA 的 DNS 服务器。

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

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

ManagedClusterWorkloadAutoScalerProfile

名字 描述 价值
keda KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfileKeda
verticalPodAutoscaler ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

ManagedClusterWorkloadAutoScalerProfileKeda

名字 描述 价值
启用 是否启用 KEDA。 bool (必需)

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名字 描述 价值
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 管理的加载项。 “Disabled”
“已启用”
启用 是否在群集中启用 VPA 加载项。 默认值为 false。 bool (必需)

ManagedClusterSKU

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