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

Microsoft.ContainerService managedClusters 2023-09-02-preview

Bicep 资源定义

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

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

注解

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

资源格式

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2023-09-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'
            }
          ]
        }
        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: {
          sshAccess: 'string'
        }
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        type: 'string'
        upgradeSettings: {
          drainTimeoutInMinutes: int
          maxSurge: 'string'
          nodeSoakDurationInMinutes: int
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
        windowsProfile: {
          disableOutboundNat: bool
        }
        workloadRuntime: 'string'
      }
    ]
    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'
      expanders: [
        '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'
    guardrailsProfile: {
      excludedNamespaces: [
        'string'
      ]
      level: 'string'
      version: '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'
    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

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

字符限制:1-63

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

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

ExtendedLocation

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

ManagedClusterIdentity

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

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

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

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

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
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。 可以在创建和更新托管群集时启用/禁用它。 有关命名空间作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (已弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此状态。 字符串
guardrailsProfile Guardrails 配置文件保存给定群集的所有护栏信息 GuardrailsProfile
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”
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 “AKSLongTermSupport”
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

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

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
artifactStreamingProfile 用于在 AKS 上使用项目流式处理的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此项。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 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 GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “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'
“Temporary”
linuxOSConfig Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
messageOfTheDay 一个 base64 编码的字符串,解码后将写入 /etc/motd。 这允许自定义 Linux 节点的当天消息。 不得为 Windows 节点指定它。 它必须是静态字符串 (即将原始打印,而不是作为脚本) 执行。 字符串
minCount 用于自动缩放的最小节点数 int
mode 一个群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

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

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS 'Ephemeral'
'Managed'
osSKU 指定代理池使用的 OS SKU。 如果未指定,则如果 OSType=Linux,则默认值为 Ubuntu;如果 OSType=Windows,则默认值为 Windows2019。 弃用 Windows2019 后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
'CBLMariner'
'Mariner'
'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
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源 (内存、CPU 等) Pod 可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定,将生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 'KataMshvVmIsolation'
'OCIContainer'
'WasmWasi'

AgentPoolArtifactStreamingProfile

名称 说明
enabled 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 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 设置 fs.aio-max-nr。 int
fsFileMax Sysctl 设置 fs.file-max。 int
fsInotifyMaxUserWatches Sysctl 设置fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl 设置 kernel.threads-max。 int
netCoreNetdevMaxBacklog Sysctl 设置net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 设置net.core.optmem_max。 int
netCoreRmemDefault Sysctl 设置net.core.rmem_default。 int
netCoreRmemMax Sysctl 设置net.core.rmem_max。 int
netCoreSomaxconn Sysctl 设置 net.core.somaxconn。 int
netCoreWmemDefault Sysctl 设置net.core.wmem_default。 int
netCoreWmemMax Sysctl 设置net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 设置net.ipv4.ip_local_port_range。 字符串
netIpv4NeighDefaultGcThresh1 Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 设置net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 设置net.ipv4.tcp_keepalive_intvl。 int

约束:
最小值 = 10
最大值 = 90
netIpv4TcpKeepaliveProbes Sysctl 设置net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 设置net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 设置net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 设置net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 设置net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 设置net.netfilter.nf_conntrack_buckets。 int

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

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

AgentPoolNetworkProfile

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

PortRange

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

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

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

IPTag

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

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

AgentPoolSecurityProfile

名称 说明
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

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名称 说明
enabled 指示 AI 工具链运算符是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点的公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 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,则将删除节点,但不确保删除或逐出 daemonset Pod。 bool
daemonset-eviction-for-occupied-nodes 如果设置为 true,则会在删除节点之前逐出占用节点上的所有 daemonset Pod。 如果无法逐出守护程序集 Pod,则选择另一个节点进行缩放。 如果设置为 false,则将删除节点,但不确保删除或逐出 daemonset Pod。 bool
扩展器 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 “least-waste”
“most-pods”
'priority'
“random”
expanders 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 如果配置了多个扩展器,则将按其列出顺序考虑它们,并首先考虑第一个扩展器。 包含任何一项的字符串数组:
“least-waste”
“most-pods”
'priority'
“random”
ignore-daemonsets-utilization 如果设置为 true,在做出缩减决策时,将考虑 daemonset 使用的资源。 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 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s'表示秒,'m'表示分钟,'h'表示小时等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是整数秒数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 默认值为“非托管”,但在正式版中可能会更改为 NodeImage 或 SecurityPatch。 “NodeImage”
“None”
“SecurityPatch”
“Unmanaged”
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 事件、清单和容器 stdout & stderr 日志等的 Azure Monitor 容器见解配置文件。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileContainerInsights

ManagedClusterAzureMonitorProfileAppMonitoring

名称 说明
enabled 指示是否启用应用程序监视。 bool

ManagedClusterAzureMonitorProfileContainerInsights

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

ManagedClusterAzureMonitorProfileWindowsHostLogs

名称 说明
enabled 指示是否为 Azure Monitor 容器见解日志加载项启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

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

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名称 说明
enabled 指示是否启用应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表。 字符串

GuardrailsProfile

名称 说明
excludedNamespaces 从防护措施检查中排除的命名空间列表 string[]
级别 要使用的护栏级别。 默认情况下,除 AKS 通过 systemExcludedNamespaces 排除的命名空间之外的所有命名空间都启用了 Guardrails 'Enforcement'
“关”
需要“警告” ()
版本 要使用的约束版本 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与 Web 应用路由加载项关联的公共 DNS 区域的资源 ID。 仅在启用 Web 应用路由时使用。 所有公共 DNS 区域都必须位于同一资源组中。 string[]

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

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

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

ManagedClusterCostAnalysis

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

ContainerServiceNetworkProfile

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

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

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

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

ContainerServiceNetworkProfileKubeProxyConfig

名称 说明
enabled 如果不存在“kubeProxyConfig”,则是否在 (群集上的 kube-proxy 上启用,默认情况下,在 AKS 中启用 kube-proxy,而不) 这些自定义项。 bool
ipvsConfig 保存 IPVS 的配置自定义项。 仅当“mode”设置为“IPVS”时,才能指定 。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
mode 指定要使用哪种代理模式 (“IPTABLES”或“IPVS”) “IPTABLES”
“IPVS”

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名称 说明
scheduler 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
outboundIPs 群集负载均衡器的所需出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

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

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

NetworkMonitoring

名称 说明
enabled 在群集上启用或禁用网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

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

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

ManagedClusterNodeProvisioningProfile

名称 说明
mode 将模式设置为“自动”后,无法将其更改回手动。 “自动”
“手动”

ManagedClusterNodeResourceGroupProfile

名称 说明
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“无限制”

ManagedClusterOidcIssuerProfile

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

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

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

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

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

ManagedClusterSecurityProfile

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

约束:
最大长度 = 10
defender 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

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

ManagedClusterSecurityProfileDefender

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

ManagedClusterSecurityProfileDefenderSecurityMonitor...

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

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名称 说明
enabled 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名称 说明
enabled 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

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

ServiceMeshProfile

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

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

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

IstioPluginCertificateAuthority

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

IstioComponents

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

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 需要 bool ()
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名称 说明
{customized property} 字符串

IstioIngressGateway

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

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

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

ManagedClusterStorageProfileBlobCSIDriver

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

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

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

ManagedClusterStorageProfileSnapshotController

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

ClusterUpgradeSettings

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

UpgradeOverrideSettings

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

ManagedClusterWindowsProfile

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

最小长度: 8 个字符

最大长度: 123 个字符

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

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

限制: 不能以“.”结尾

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

最小长度: 1 个字符

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

WindowsGmsaProfile

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

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

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

ManagedClusterWorkloadAutoScalerProfile

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

ManagedClusterWorkloadAutoScalerProfileKeda

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

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 托管加载项。 'Disabled'
'Enabled'
enabled 是否在群集中启用 VPA 加载项。 默认值为 false。 需要 bool ()

ManagedClusterSKU

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

快速入门模板

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ARM 模板资源定义

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

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

注解

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

资源格式

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

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2023-09-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"
            }
          ]
        },
        "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": {
          "sshAccess": "string"
        },
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "type": "string",
        "upgradeSettings": {
          "drainTimeoutInMinutes": "int",
          "maxSurge": "string",
          "nodeSoakDurationInMinutes": "int"
        },
        "vmSize": "string",
        "vnetSubnetID": "string",
        "windowsProfile": {
          "disableOutboundNat": "bool"
        },
        "workloadRuntime": "string"
      }
    ],
    "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",
      "expanders": [ "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",
    "guardrailsProfile": {
      "excludedNamespaces": [ "string" ],
      "level": "string",
      "version": "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",
    "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

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

字符限制:1-63

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

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

ExtendedLocation

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

ManagedClusterIdentity

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

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

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

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

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
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。 可以在创建和更新托管群集时启用/禁用它。 有关命名空间作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此内容。 字符串
guardrailsProfile 护栏配置文件保存给定群集的所有护栏信息 GuardrailsProfile
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'
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集的服务主体标识的信息,该标识用于操作 Azure API。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 'AKSLongTermSupport'
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

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

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
artifactStreamingProfile 用于在 AKS 上使用项目流式处理的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此项。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 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 GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “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'
“Temporary”
linuxOSConfig Linux 代理节点的 OS 配置。 LinuxOSConfig
maxCount 自动缩放的最大节点数 int
maxPods 可在节点上运行的最大 Pod 数。 int
messageOfTheDay 一个 base64 编码的字符串,解码后将写入 /etc/motd。 这允许自定义 Linux 节点的当天消息。 不得为 Windows 节点指定它。 它必须是静态字符串 (即将原始打印,而不是作为脚本) 执行。 字符串
minCount 用于自动缩放的最小节点数 int
mode 一个群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

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

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS 'Ephemeral'
'Managed'
osSKU 指定代理池使用的 OS SKU。 如果未指定,则如果 OSType=Linux,则默认值为 Ubuntu;如果 OSType=Windows,则默认值为 Windows2019。 弃用 Windows2019 后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
'CBLMariner'
'Mariner'
'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
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源 (内存、CPU 等) Pod 可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定,将生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 'KataMshvVmIsolation'
'OCIContainer'
'WasmWasi'

AgentPoolArtifactStreamingProfile

名称 说明
enabled 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 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 设置 fs.aio-max-nr。 int
fsFileMax Sysctl setting fs.file-max. int
fsInotifyMaxUserWatches Sysctl 设置 fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl setting kernel.threads-max. int
netCoreNetdevMaxBacklog Sysctl 设置net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 设置net.core.optmem_max。 int
netCoreRmemDefault Sysctl 设置net.core.rmem_default。 int
netCoreRmemMax Sysctl 设置net.core.rmem_max。 int
netCoreSomaxconn Sysctl setting net.core.somaxconn。 int
netCoreWmemDefault Sysctl 设置net.core.wmem_default。 int
netCoreWmemMax Sysctl 设置net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 设置net.ipv4.ip_local_port_range。 字符串
netIpv4NeighDefaultGcThresh1 Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 设置net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 设置net.ipv4.tcp_keepalive_intvl。 int

约束:
最小值 = 10
最大值 = 90
netIpv4TcpKeepaliveProbes Sysctl 设置net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 设置net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 设置net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 设置net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 设置net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 设置net.netfilter.nf_conntrack_buckets。 int

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

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

AgentPoolNetworkProfile

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

PortRange

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

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

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

IPTag

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

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

AgentPoolSecurityProfile

名称 说明
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

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名称 说明
enabled 指示 AI 工具链操作员是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 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,则将删除节点,但不确保删除或逐出 daemonset Pod。 bool
daemonset-eviction-for-occupied-nodes 如果设置为 true,则会在删除节点之前逐出占用节点上的所有 daemonset Pod。 如果无法逐出守护程序集 Pod,则选择另一个节点进行缩放。 如果设置为 false,则将删除节点,但不确保删除或逐出 daemonset Pod。 bool
扩展器 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 “least-waste”
“most-pods”
'priority'
“random”
expanders 可用值为:“least-waste”、“most-pods”、“priority”、“random”。 如果配置了多个扩展器,则将按其列出顺序考虑它们,并首先考虑第一个扩展器。 包含任何一项的字符串数组:
“least-waste”
“most-pods”
'priority'
“random”
ignore-daemonsets-utilization 如果设置为 true,在做出缩减决策时,将考虑 daemonset 使用的资源。 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 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s'表示秒,'m'表示分钟,'h'表示小时等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持分钟 (m) 以外的任何时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是整数秒数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 默认值为“非托管”,但在正式版中可能会更改为 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

名称 说明
enabled 指示应用程序监视是否已启用。 bool

ManagedClusterAzureMonitorProfileContainerInsights

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

ManagedClusterAzureMonitorProfileWindowsHostLogs

名称 说明
enabled 指示是否为 Azure Monitor 容器见解日志加载项启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

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

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名称 说明
enabled 指示是否启用应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表。 字符串

GuardrailsProfile

名称 说明
excludedNamespaces 从护栏检查中排除的命名空间列表 string[]
级别 要使用的护栏级别。 默认情况下,为所有命名空间启用 Guardrails,但 AKS 通过 systemExcludedNamespaces 排除的命名空间除外 “强制”
“Off”
需要“警告” ()
版本 要使用的约束版本 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与 Web 应用路由加载项关联的公共 DNS 区域的资源 ID。 仅在启用 Web 应用路由时使用。 所有公共 DNS 区域都必须位于同一资源组中。 string[]

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

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

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

ManagedClusterCostAnalysis

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

ContainerServiceNetworkProfile

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

约束:
Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
ipFamilies IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 包含任意项的字符串数组:
“IPv4”
“IPv6”
kubeProxyConfig 保存 kube-proxy 的配置自定义项。 未定义的任何值都将使用 kube-proxy 默认行为。 查看 https://v{version}.docs.kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ {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”
“透明”
networkPlugin 用于生成 Kubernetes 网络的网络插件。 “azure”
“kubenet”
'none'
networkPluginMode 用于生成 Kubernetes 网络的网络插件模式。 “overlay”
networkPolicy 用于生成 Kubernetes 网络的网络策略。 “azure”
“calico”
“cilium”
'none'
outboundType 这只能在群集创建时设置,以后不能更改。 有关详细信息 ,请参阅出口出站类型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“userDefinedRouting”
podCidr CIDR 表示法 IP 范围,使用 kubenet 时从其中分配 Pod IP。 字符串

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

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

ContainerServiceNetworkProfileKubeProxyConfig

名称 说明
enabled 如果不存在“kubeProxyConfig”,则是否在 (群集上的 kube-proxy 上启用,默认情况下,在 AKS 中启用 kube-proxy,而不) 这些自定义项。 bool
ipvsConfig 保存 IPVS 的配置自定义项。 仅当“mode”设置为“IPVS”时,才能指定 。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
mode 指定要 (“IPTABLES”或“IPVS”) 使用的代理模式 'IPTABLES'
'IPVS'

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名称 说明
scheduler 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
outboundIPs 群集负载均衡器所需的出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

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

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

NetworkMonitoring

名称 说明
enabled 在群集上启用或禁用网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

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

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

ManagedClusterNodeProvisioningProfile

名称 说明
mode 将模式设置为“自动”后,无法将其更改回手动。 “自动”
“手动”

ManagedClusterNodeResourceGroupProfile

名称 说明
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“无限制”

ManagedClusterOidcIssuerProfile

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

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

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

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

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

ManagedClusterSecurityProfile

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

约束:
最大长度 = 10
defender 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

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

ManagedClusterSecurityProfileDefender

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

ManagedClusterSecurityProfileDefenderSecurityMonitor...

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

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名称 说明
enabled 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名称 说明
enabled 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

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

ServiceMeshProfile

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

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

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

IstioPluginCertificateAuthority

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

IstioComponents

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

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 bool (必需)
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名称 说明
{customized property} 字符串

IstioIngressGateway

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

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

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

ManagedClusterStorageProfileBlobCSIDriver

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

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

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

ManagedClusterStorageProfileSnapshotController

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

ClusterUpgradeSettings

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

UpgradeOverrideSettings

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

ManagedClusterWindowsProfile

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

最小长度: 8 个字符

最大长度: 123 个字符

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

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

限制: 不能以“.”结尾

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

最小长度: 1 个字符

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

WindowsGmsaProfile

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

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

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

ManagedClusterWorkloadAutoScalerProfile

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

ManagedClusterWorkloadAutoScalerProfileKeda

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

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 托管的加载项。 “Disabled”
'Enabled'
enabled 是否在群集中启用 VPA 加载项。 默认值为 false。 需要 bool ()

ManagedClusterSKU

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

快速入门模板

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 资源组

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

资源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2023-09-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"
              }
            ]
          }
          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 = {
            sshAccess = "string"
          }
          spotMaxPrice = "decimal-as-string"
          tags = {}
          type = "string"
          upgradeSettings = {
            drainTimeoutInMinutes = int
            maxSurge = "string"
            nodeSoakDurationInMinutes = int
          }
          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"
        expanders = [
          "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"
      guardrailsProfile = {
        excludedNamespaces = [
          "string"
        ]
        level = "string"
        version = "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"
      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

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

字符限制:1-63

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

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

ExtendedLocation

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

ManagedClusterIdentity

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

DelegatedResources

名称 说明
{customized property} DelegatedResource

DelegatedResource

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

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

ManagedClusterIdentityUserAssignedIdentities

名称 说明
{customized property} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

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

ManagedClusterProperties

名称 说明
aadProfile Azure Active Directory 配置。 ManagedClusterAADProfile
addonProfiles 托管群集加载项的配置文件。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理池属性。 ManagedClusterAgentPoolProfile[]
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。 可以在创建和更新托管群集时启用/禁用它。 有关命名空间作为 ARM 资源的更多详细信息,请参阅 https://aka.ms/NamespaceARMResource bool
enablePodSecurityPolicy (已弃用) 是否启用 Kubernetes pod 安全策略 (预览版) 。 PodSecurityPolicy 在 Kubernetes v1.21 中已弃用,并在 v1.25 中从 Kubernetes 中删除。 有关详细信息,请参阅 https://aka.ms/k8s/psphttps://aka.ms/aks/psp. bool
enableRBAC 是否启用 Kubernetes Role-Based 访问控制。 bool
fqdnSubdomain 创建托管群集后,无法更新此状态。 字符串
guardrailsProfile Guardrails 配置文件保存给定群集的所有护栏信息 GuardrailsProfile
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”
securityProfile 托管群集的安全配置文件。 ManagedClusterSecurityProfile
serviceMeshProfile 托管群集的服务网格配置文件。 ServiceMeshProfile
servicePrincipalProfile 有关群集用于操作 Azure API 的服务主体标识的信息。 ManagedClusterServicePrincipalProfile
storageProfile 托管群集的存储配置文件。 ManagedClusterStorageProfile
supportPlan 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 “AKSLongTermSupport”
“KubernetesOfficial”
upgradeSettings 用于升级群集的设置。 ClusterUpgradeSettings
windowsProfile 托管群集中 Windows VM 的配置文件。 ManagedClusterWindowsProfile
workloadAutoScalerProfile 托管群集的工作负荷自动缩放程序配置文件。 ManagedClusterWorkloadAutoScalerProfile

ManagedClusterAADProfile

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

ManagedClusterPropertiesAddonProfiles

名称 说明
{customized property} ManagedClusterAddonProfile

ManagedClusterAddonProfile

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

ManagedClusterAddonProfileConfig

名称 说明
{customized property} 字符串

ManagedClusterAgentPoolProfile

名称 说明
artifactStreamingProfile 用于在 AKS 上使用项目流式处理的配置。 AgentPoolArtifactStreamingProfile
availabilityZones 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此项。 string[]
capacityReservationGroupID AKS 会将指定的代理池与容量预留组相关联。 字符串
count ) 托管 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 GPUInstanceProfile 用于为受支持的 GPU VM SKU 指定 GPU MIG 实例配置文件。 “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 解码后将写入 /etc/motd 的 base64 编码字符串。 这允许自定义 Linux 节点的当天消息。 不得为 Windows 节点指定它。 它必须是静态字符串 (即将原始打印,而不是作为脚本) 执行。 字符串
minCount 用于自动缩放的最小节点数 int
mode 群集必须始终保持至少一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools “System”
“User”
name Windows 代理池名称必须为 6 个字符或更少。 字符串 (必需)

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

约束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支持它,并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“托管”。 创建后可能不会更改。 有关详细信息 ,请参阅临时 OS “临时”
“托管”
osSKU 指定代理池使用的 OS SKU。 如果未指定,则如果 OSType=Linux,则默认值为 Ubuntu;如果 OSType=Windows,则默认值为 Windows2019。 弃用 Windows2019 后,默认的 Windows OSSKU 将更改为 Windows2022。 “AzureLinux”
“CBLMariner”
“Mariner”
“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”
“Spot”
securityProfile 代理池的安全设置。 AgentPoolSecurityProfile
spotMaxPrice 可能的值是大于零或 -1 的任何十进制值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 将十进制值指定为字符串。 int 或 json decimal
标记 要保留在代理池虚拟机规模集上的标记。 对象 (object)
类型 代理池的类型。 “AvailabilitySet”
“VirtualMachineScaleSets”
“VirtualMachines”
upgradeSettings 用于升级代理池的设置 AgentPoolUpgradeSettings
vmSize VM 大小可用性因区域而异。 如果节点包含的计算资源 (内存、CPU 等) Pod 可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions 字符串
vnetSubnetID 如果未指定,将生成并使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则仅应用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字符串
windowsProfile Windows 代理池的特定配置文件。 AgentPoolWindowsProfile
workloadRuntime 确定节点可以运行的工作负荷类型。 “KataMshvVmIsolation”
“OCIContainer”
“WasmWasi”

AgentPoolArtifactStreamingProfile

名称 说明
enabled 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 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 设置 fs.aio-max-nr。 int
fsFileMax Sysctl 设置 fs.file-max。 int
fsInotifyMaxUserWatches Sysctl 设置fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 设置fs.nr_open。 int
kernelThreadsMax Sysctl 设置 kernel.threads-max。 int
netCoreNetdevMaxBacklog Sysctl 设置net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 设置net.core.optmem_max。 int
netCoreRmemDefault Sysctl 设置net.core.rmem_default。 int
netCoreRmemMax Sysctl 设置net.core.rmem_max。 int
netCoreSomaxconn Sysctl 设置 net.core.somaxconn。 int
netCoreWmemDefault Sysctl 设置net.core.wmem_default。 int
netCoreWmemMax Sysctl 设置net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 设置net.ipv4.ip_local_port_range。 字符串
netIpv4NeighDefaultGcThresh1 Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 设置net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 设置net.ipv4.tcp_keepalive_intvl。 int

约束:
最小值 = 10
最大值 = 90
netIpv4TcpKeepaliveProbes Sysctl 设置net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 设置net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 设置net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 设置net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 设置net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntrackBuckets Sysctl 设置net.netfilter.nf_conntrack_buckets。 int

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

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

AgentPoolNetworkProfile

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

PortRange

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

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

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

IPTag

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名称 说明
{customized property} 字符串

PowerState

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

AgentPoolSecurityProfile

名称 说明
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

AgentPoolWindowsProfile

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

ManagedClusterAIToolchainOperatorProfile

名称 说明
enabled 指示 AI 工具链运算符是否已启用。 bool

ManagedClusterAPIServerAccessProfile

名称 说明
authorizedIPRanges IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用每个节点的公共 IP 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 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”
expanders 可用值为:“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 对于突发/批量缩放场景,如果你希望 CA 在 kubernetes 计划程序计划所有 Pod 之后再进行操作,可以指示 CA 忽略未达到一定存在时间的计划外 Pod。 默认值为“0s”。 值必须是一个整数,后跟单位 ('s''表示秒,'m'表示分钟,'h'表示小时,等等) 。 字符串
ok-total-unready-count 这必须是整数。 默认值为 3。 字符串
scale-down-delay-after-add 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-delay-after-delete 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-delay-after-failure 默认值为“3m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-unneeded-time 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-unready-time 默认值为“20m”。 值必须是后跟“m”的整数。 不支持除分钟 (m) 以外的时间单位。 字符串
scale-down-utilization-threshold 默认值为“0.5”。 字符串
scan-interval 默认值为“10”。 值必须是秒数的整数。 字符串
skip-nodes-with-local-storage 默认值为 true。 字符串
skip-nodes-with-system-pods 默认值为 true。 字符串

ManagedClusterAutoUpgradeProfile

名称 说明
nodeOSUpgradeChannel 默认值为“非托管”,但在正式版中可能会更改为 NodeImage 或 SecurityPatch。 “NodeImage”
"None"
“SecurityPatch”
“非托管”
upgradeChannel 有关详细信息 ,请参阅设置 AKS 群集自动升级通道 “node-image”
“none”
“patch”
“快速”
“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 事件、清单和容器 stdout & stderr 日志等的 Azure Monitor 容器见解配置文件。有关概述,请参阅 aka.ms/AzureMonitorContainerInsights。 ManagedClusterAzureMonitorProfileContainerInsights

ManagedClusterAzureMonitorProfileAppMonitoring

名称 说明
enabled 指示是否启用应用程序监视。 bool

ManagedClusterAzureMonitorProfileContainerInsights

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

ManagedClusterAzureMonitorProfileWindowsHostLogs

名称 说明
enabled 指示是否为 Azure Monitor 容器见解日志加载项启用 Windows 主机日志收集。 bool

ManagedClusterAzureMonitorProfileMetrics

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

ManagedClusterAzureMonitorProfileAppMonitoringOpenTe...

名称 说明
enabled 指示是否启用应用程序监视开放遥测指标。 bool

ManagedClusterAzureMonitorProfileKubeStateMetrics

名称 说明
metricAnnotationsAllowList 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表。 字符串
metricLabelsAllowlist 将在资源的标签指标中使用的 Kubernetes 注释键的逗号分隔列表。 字符串

GuardrailsProfile

名称 说明
excludedNamespaces 从护栏检查中排除的命名空间列表 string[]
级别 要使用的护栏级别。 默认情况下,为所有命名空间启用 Guardrails,但 AKS 通过 systemExcludedNamespaces 排除的命名空间除外 “强制”
"Off"
需要“警告” ()
版本 要使用的约束版本 字符串

ManagedClusterHttpProxyConfig

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

ManagedClusterPropertiesIdentityProfile

名称 说明
{customized property} UserAssignedIdentity

UserAssignedIdentity

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

ManagedClusterIngressProfile

名称 说明
webAppRouting 入口配置文件的 Web 应用路由设置。 ManagedClusterIngressProfileWebAppRouting

ManagedClusterIngressProfileWebAppRouting

名称 说明
dnsZoneResourceIds 要与 Web 应用路由加载项关联的公共 DNS 区域的资源 ID。 仅在启用 Web 应用路由时使用。 所有公共 DNS 区域都必须位于同一资源组中。 string[]

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

ContainerServiceLinuxProfile

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

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

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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

ManagedClusterMetricsProfile

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

ManagedClusterCostAnalysis

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

ContainerServiceNetworkProfile

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

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

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

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

ContainerServiceNetworkProfileKubeProxyConfig

名称 说明
enabled 如果不存在“kubeProxyConfig”,则是否在 (群集上的 kube-proxy 上启用,默认情况下,在 AKS 中启用 kube-proxy,而不) 这些自定义项。 bool
ipvsConfig 保存 IPVS 的配置自定义项。 仅当“mode”设置为“IPVS”时,才能指定 。 ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...
mode 指定要 (“IPTABLES”或“IPVS”) 使用的代理模式 “IPTABLES”
“IPVS”

ContainerServiceNetworkProfileKubeProxyConfigIpvsCon...

名称 说明
scheduler 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
outboundIPs 群集负载均衡器所需的出站 IP 资源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

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

ManagedClusterLoadBalancerProfileManagedOutboundIPs

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

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

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

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

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

ManagedClusterLoadBalancerProfileOutboundIPs

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

NetworkMonitoring

名称 说明
enabled 在群集上启用或禁用网络监视插件 bool

ManagedClusterNATGatewayProfile

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

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

ManagedClusterManagedOutboundIPProfile

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

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

ManagedClusterNodeProvisioningProfile

名称 说明
mode 将模式设置为“自动”后,无法将其更改回手动。 “Auto”
“手动”

ManagedClusterNodeResourceGroupProfile

名称 说明
restrictionLevel 应用于群集节点资源组的限制级别 “ReadOnly”
“无限制”

ManagedClusterOidcIssuerProfile

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

ManagedClusterPodIdentityProfile

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

ManagedClusterPodIdentity

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

ManagedClusterPodIdentityException

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

ManagedClusterPodIdentityExceptionPodLabels

名称 说明
{customized property} 字符串

PrivateLinkResource

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

ManagedClusterSecurityProfile

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

约束:
最大长度 = 10
defender 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

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

ManagedClusterSecurityProfileDefender

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

ManagedClusterSecurityProfileDefenderSecurityMonitor...

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

ManagedClusterSecurityProfileImageCleaner

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

ManagedClusterSecurityProfileImageIntegrity

名称 说明
enabled 是否启用映像完整性。 默认值为 false。 bool

ManagedClusterSecurityProfileNodeRestriction

名称 说明
enabled 是否启用节点限制 bool

ManagedClusterSecurityProfileWorkloadIdentity

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

ServiceMeshProfile

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

IstioServiceMesh

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

约束:
最大长度 = 2

IstioCertificateAuthority

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

IstioPluginCertificateAuthority

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

IstioComponents

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

IstioEgressGateway

名称 说明
enabled 是否启用出口网关。 bool (必需)
nodeSelector 用于计划出口网关的 NodeSelector。 IstioEgressGatewayNodeSelector

IstioEgressGatewayNodeSelector

名称 说明
{customized property} 字符串

IstioIngressGateway

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

ManagedClusterServicePrincipalProfile

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

ManagedClusterStorageProfile

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

ManagedClusterStorageProfileBlobCSIDriver

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

ManagedClusterStorageProfileDiskCSIDriver

名称 说明
enabled 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 bool
版本 AzureDisk CSI 驱动程序的版本。 默认值为 v1。 字符串

ManagedClusterStorageProfileFileCSIDriver

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

ManagedClusterStorageProfileSnapshotController

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

ClusterUpgradeSettings

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

UpgradeOverrideSettings

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

ManagedClusterWindowsProfile

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

最小长度: 8 个字符

最大长度: 123 个字符

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

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

限制: 不能以“.”结尾

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

最小长度: 1 个字符

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

WindowsGmsaProfile

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

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

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

ManagedClusterWorkloadAutoScalerProfile

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

ManagedClusterWorkloadAutoScalerProfileKeda

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

ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...

名称 说明
addonAutoscaling 是否启用 VPA 加载项并将其配置为缩放 AKS 托管加载项。 “Disabled”
“Enabled”
enabled 是否在群集中启用 VPA 加载项。 默认值为 false。 需要 bool ()

ManagedClusterSKU

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