你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.ContainerService managedClusters 2023-07-01
- 最新
- 2024-06-02-preview
- 2024-05-02-preview
- 2024-05-01
- 2024-04-02-preview
- 2024-03-02-preview
- 2024-02-01
- 2024-01-02-preview
- 2024-01-01
- 2023-11-02-preview
- 2023-11-01
- 2023-10-02-preview
- 2023-10-01
- 2023-09-02-preview
- 2023-09-01
- 2023-08-02-preview
- 2023-08-01
- 2023-07-02-preview
- 2023-07-01
- 2023-06-02-preview
- 2023-06-01
- 2023-05-02-preview
- 2023-05-01
- 2023-04-02-preview
- 2023-04-01
- 2023-03-02-preview
- 2023-03-01
- 2023-02-02-preview
- 2023-02-01
- 2023-01-02-preview
- 2023-01-01
- 2022-11-02-preview
- 2022-11-01
- 2022-10-02-preview
- 2022-09-01
- 2022-08-03-preview
- 2022-08-02-preview
- 2022-07-01
- 2022-06-01
- 2022-04-01
- 2022-03-01
- 2022-02-01
- 2022-01-01
- 2021-10-01
- 2021-09-01
- 2021-08-01
- 2021-07-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-12-01
- 2020-11-01
- 2020-09-01
Bicep 资源定义
可以使用目标操作部署 managedClusters 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
言论
有关可用加载项的信息,请参阅 加载项、扩展和其他与 Azure Kubernetes 服务集成。
资源格式
若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.ContainerService/managedClusters@2023-07-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
name: 'Base'
tier: 'string'
}
extendedLocation: {
name: 'string'
type: 'EdgeZone'
}
identity: {
delegatedResources: {
{customized property}: {
location: 'string'
referralResource: 'string'
resourceId: 'string'
tenantId: 'string'
}
}
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
properties: {
aadProfile: {
adminGroupObjectIDs: [
'string'
]
clientAppID: 'string'
enableAzureRBAC: bool
managed: bool
serverAppID: 'string'
serverAppSecret: 'string'
tenantID: 'string'
}
addonProfiles: {
{customized property}: {
config: {
{customized property}: 'string'
}
enabled: bool
}
}
agentPoolProfiles: [
{
availabilityZones: [
'string'
]
count: int
creationData: {
sourceResourceId: 'string'
}
enableAutoScaling: bool
enableEncryptionAtHost: bool
enableFIPS: bool
enableNodePublicIP: bool
enableUltraSSD: bool
gpuInstanceProfile: 'string'
hostGroupID: 'string'
kubeletConfig: {
allowedUnsafeSysctls: [
'string'
]
containerLogMaxFiles: int
containerLogMaxSizeMB: int
cpuCfsQuota: bool
cpuCfsQuotaPeriod: 'string'
cpuManagerPolicy: 'string'
failSwapOn: bool
imageGcHighThreshold: int
imageGcLowThreshold: int
podMaxPids: int
topologyManagerPolicy: 'string'
}
kubeletDiskType: 'string'
linuxOSConfig: {
swapFileSizeMB: int
sysctls: {
fsAioMaxNr: int
fsFileMax: int
fsInotifyMaxUserWatches: int
fsNrOpen: int
kernelThreadsMax: int
netCoreNetdevMaxBacklog: int
netCoreOptmemMax: int
netCoreRmemDefault: int
netCoreRmemMax: int
netCoreSomaxconn: int
netCoreWmemDefault: int
netCoreWmemMax: int
netIpv4IpLocalPortRange: 'string'
netIpv4NeighDefaultGcThresh1: int
netIpv4NeighDefaultGcThresh2: int
netIpv4NeighDefaultGcThresh3: int
netIpv4TcpFinTimeout: int
netIpv4TcpkeepaliveIntvl: int
netIpv4TcpKeepaliveProbes: int
netIpv4TcpKeepaliveTime: int
netIpv4TcpMaxSynBacklog: int
netIpv4TcpMaxTwBuckets: int
netIpv4TcpTwReuse: bool
netNetfilterNfConntrackBuckets: int
netNetfilterNfConntrackMax: int
vmMaxMapCount: int
vmSwappiness: int
vmVfsCachePressure: int
}
transparentHugePageDefrag: 'string'
transparentHugePageEnabled: 'string'
}
maxCount: int
maxPods: int
minCount: int
mode: 'string'
name: 'string'
nodeLabels: {
{customized property}: 'string'
}
nodePublicIPPrefixID: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osSKU: 'string'
osType: 'string'
podSubnetID: 'string'
powerState: {
code: 'string'
}
proximityPlacementGroupID: 'string'
scaleDownMode: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
spotMaxPrice: json('decimal-as-string')
tags: {}
type: 'string'
upgradeSettings: {
drainTimeoutInMinutes: int
maxSurge: 'string'
}
vmSize: 'string'
vnetSubnetID: 'string'
workloadRuntime: 'string'
}
]
apiServerAccessProfile: {
authorizedIPRanges: [
'string'
]
disableRunCommand: bool
enablePrivateCluster: bool
enablePrivateClusterPublicFQDN: bool
privateDNSZone: 'string'
}
autoScalerProfile: {
'balance-similar-node-groups': 'string'
expander: 'string'
'max-empty-bulk-delete': 'string'
'max-graceful-termination-sec': 'string'
'max-node-provision-time': 'string'
'max-total-unready-percentage': 'string'
'new-pod-scale-up-delay': 'string'
'ok-total-unready-count': 'string'
'scale-down-delay-after-add': 'string'
'scale-down-delay-after-delete': 'string'
'scale-down-delay-after-failure': 'string'
'scale-down-unneeded-time': 'string'
'scale-down-unready-time': 'string'
'scale-down-utilization-threshold': 'string'
'scan-interval': 'string'
'skip-nodes-with-local-storage': 'string'
'skip-nodes-with-system-pods': 'string'
}
autoUpgradeProfile: {
nodeOSUpgradeChannel: 'string'
upgradeChannel: 'string'
}
azureMonitorProfile: {
metrics: {
enabled: bool
kubeStateMetrics: {
metricAnnotationsAllowList: 'string'
metricLabelsAllowlist: 'string'
}
}
}
disableLocalAccounts: bool
diskEncryptionSetID: 'string'
dnsPrefix: 'string'
enablePodSecurityPolicy: bool
enableRBAC: bool
fqdnSubdomain: 'string'
httpProxyConfig: {
httpProxy: 'string'
httpsProxy: 'string'
noProxy: [
'string'
]
trustedCa: 'string'
}
identityProfile: {
{customized property}: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
}
kubernetesVersion: 'string'
linuxProfile: {
adminUsername: 'string'
ssh: {
publicKeys: [
{
keyData: 'string'
}
]
}
}
networkProfile: {
dnsServiceIP: 'string'
ipFamilies: [
'string'
]
loadBalancerProfile: {
allocatedOutboundPorts: int
effectiveOutboundIPs: [
{
id: 'string'
}
]
enableMultipleStandardLoadBalancers: bool
idleTimeoutInMinutes: int
managedOutboundIPs: {
count: int
countIPv6: int
}
outboundIPPrefixes: {
publicIPPrefixes: [
{
id: 'string'
}
]
}
outboundIPs: {
publicIPs: [
{
id: 'string'
}
]
}
}
loadBalancerSku: 'string'
natGatewayProfile: {
effectiveOutboundIPs: [
{
id: 'string'
}
]
idleTimeoutInMinutes: int
managedOutboundIPProfile: {
count: int
}
}
networkDataplane: 'string'
networkMode: 'string'
networkPlugin: 'string'
networkPluginMode: 'overlay'
networkPolicy: 'string'
outboundType: 'string'
podCidr: 'string'
podCidrs: [
'string'
]
serviceCidr: 'string'
serviceCidrs: [
'string'
]
}
nodeResourceGroup: 'string'
oidcIssuerProfile: {
enabled: bool
}
podIdentityProfile: {
allowNetworkPluginKubenet: bool
enabled: bool
userAssignedIdentities: [
{
bindingSelector: 'string'
identity: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
name: 'string'
namespace: 'string'
}
]
userAssignedIdentityExceptions: [
{
name: 'string'
namespace: 'string'
podLabels: {
{customized property}: 'string'
}
}
]
}
privateLinkResources: [
{
groupId: 'string'
id: 'string'
name: 'string'
requiredMembers: [
'string'
]
type: 'string'
}
]
publicNetworkAccess: 'string'
securityProfile: {
azureKeyVaultKms: {
enabled: bool
keyId: 'string'
keyVaultNetworkAccess: 'string'
keyVaultResourceId: 'string'
}
defender: {
logAnalyticsWorkspaceResourceId: 'string'
securityMonitoring: {
enabled: bool
}
}
imageCleaner: {
enabled: bool
intervalHours: int
}
workloadIdentity: {
enabled: bool
}
}
servicePrincipalProfile: {
clientId: 'string'
secret: 'string'
}
storageProfile: {
blobCSIDriver: {
enabled: bool
}
diskCSIDriver: {
enabled: bool
}
fileCSIDriver: {
enabled: bool
}
snapshotController: {
enabled: bool
}
}
supportPlan: 'string'
upgradeSettings: {
overrideSettings: {
forceUpgrade: bool
until: 'string'
}
}
windowsProfile: {
adminPassword: 'string'
adminUsername: 'string'
enableCSIProxy: bool
gmsaProfile: {
dnsServer: 'string'
enabled: bool
rootDomainName: 'string'
}
licenseType: 'string'
}
workloadAutoScalerProfile: {
keda: {
enabled: bool
}
verticalPodAutoscaler: {
enabled: bool
}
}
}
}
属性值
managedClusters
名字 | 描述 | 价值 |
---|---|---|
名字 | 资源名称 | string (必需) 字符限制:1-63 有效字符: 字母数字、下划线和连字符。 以字母数字开头和结尾。 |
位置 | 资源所在的地理位置 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
sku | 托管群集 SKU。 | ManagedClusterSKU |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 托管群集的标识(如果已配置)。 | ManagedClusterIdentity |
性能 | 托管群集的属性。 | ManagedClusterProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
ManagedClusterIdentity
名字 | 描述 | 价值 |
---|---|---|
delegatedResources | 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委派的标识资源。 仅供内部使用。 | DelegatedResources |
类型 | 有关详细信息,请参阅 在 AKS中使用托管标识。 | “None” “SystemAssigned” “UserAssigned” |
userAssignedIdentities | 密钥必须是 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | ManagedClusterIdentityUserAssignedIdentities |
DelegatedResources
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | DelegatedResource |
DelegatedResource
名字 | 描述 | 价值 |
---|---|---|
位置 | 源资源位置 - 仅供内部使用。 | 字符串 |
referralResource | 引荐委派(可选)的委托 ID - 仅供内部使用。 | 字符串 |
resourceId | 委派资源的 ARM 资源 ID - 仅供内部使用。 | 字符串 |
tenantId | 委托资源的租户 ID - 仅供内部使用。 | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
ManagedClusterIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ManagedClusterProperties
名字 | 描述 | 价值 |
---|---|---|
aadProfile | Azure Active Directory 配置。 | ManagedClusterAADProfile |
addonProfiles | 托管群集加载项的配置文件。 | ManagedClusterPropertiesAddonProfiles |
agentPoolProfiles | 代理池属性。 | ManagedClusterAgentPoolProfile[] |
apiServerAccessProfile | 托管群集 API 服务器的访问配置文件。 | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 启用时要应用于群集自动缩放程序的参数 | ManagedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 自动升级配置。 | ManagedClusterAutoUpgradeProfile |
azureMonitorProfile | 用于监视托管群集的 Azure Monitor 加载项配置文件。 | ManagedClusterAzureMonitorProfile |
disableLocalAccounts | 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户。 | bool |
diskEncryptionSetID | 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” | 字符串 |
dnsPrefix | 创建托管群集后,无法更新此功能。 | 字符串 |
enablePodSecurityPolicy | (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 v1.25 中从 Kubernetes 中删除。 在 https://aka.ms/k8s/psp 和 https://aka.ms/aks/psp. 了解详细信息 |
bool |
enableRBAC | 是否启用 Kubernetes Role-Based 访问控制。 | bool |
fqdnSubdomain | 创建托管群集后,无法更新此功能。 | 字符串 |
httpProxyConfig | 使用 HTTP 代理服务器预配群集的配置。 | ManagedClusterHttpProxyConfig |
identityProfile | 与群集关联的标识。 | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 升级支持的 AKS 群集时,无法跳过 Kubernetes 次要版本。 所有升级都必须按主版本号按顺序执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许使用 1.14.x -} 1.16.x。 有关更多详细信息,请参阅 升级 AKS 群集。 | 字符串 |
linuxProfile | 托管群集中 Linux VM 的配置文件。 | ContainerServiceLinuxProfile |
networkProfile | 网络配置文件。 | ContainerServiceNetworkProfile |
nodeResourceGroup | 包含代理池节点的资源组的名称。 | 字符串 |
oidcIssuerProfile | 托管群集的 OIDC 颁发者配置文件。 | ManagedClusterOidcIssuerProfile |
podIdentityProfile | 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识。 | ManagedClusterPodIdentityProfile |
privateLinkResources | 与群集关联的专用链接资源。 | PrivateLinkResource[] |
publicNetworkAccess | 允许或拒绝 AKS 的公共网络访问 | “Disabled” “Enabled” |
securityProfile | 托管群集的安全配置文件。 | ManagedClusterSecurityProfile |
servicePrincipalProfile | 有关群集用于操作 Azure API 的服务主体标识的信息。 | ManagedClusterServicePrincipalProfile |
storageProfile | 托管群集的存储配置文件。 | ManagedClusterStorageProfile |
supportPlan | 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 | “AKSLongTermSupport” “KubernetesOfficial” |
upgradeSettings | 用于升级群集的设置。 | ClusterUpgradeSettings |
windowsProfile | 托管群集中 Windows VM 的配置文件。 | ManagedClusterWindowsProfile |
workloadAutoScalerProfile | 托管群集的工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfile |
ManagedClusterAADProfile
名字 | 描述 | 价值 |
---|---|---|
adminGroupObjectIDs | 将具有群集管理员角色的 AAD 组对象 ID 的列表。 | string[] |
clientAppID | (已弃用)客户端 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
enableAzureRBAC | 是否为 Kubernetes 授权启用 Azure RBAC。 | bool |
管理 | 是否启用托管 AAD。 | bool |
serverAppID | (已弃用)服务器 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
serverAppSecret | (已弃用)服务器 AAD 应用程序机密。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
tenantID | 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 | 字符串 |
ManagedClusterPropertiesAddonProfiles
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
名字 | 描述 | 价值 |
---|---|---|
配置 | 用于配置加载项的键值对。 | ManagedClusterAddonProfileConfig |
启用 | 是否启用加载项。 | bool (必需) |
ManagedClusterAddonProfileConfig
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
ManagedClusterAgentPoolProfile
名字 | 描述 | 价值 |
---|---|---|
availabilityZones | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | string[] |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | int |
creationData | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData |
enableAutoScaling | 是否启用自动缩放程序 | bool |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | bool |
enableFIPS | 有关详细信息,请参阅 添加启用了 FIPS 的节点池。 | bool |
enableNodePublicIP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | bool |
enableUltraSSD | 是否启用 UltraSSD | bool |
gpuInstanceProfile | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
hostGroupID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubeletConfig | 代理池节点上的 Kubelet 配置。 | KubeletConfig |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
maxCount | 自动缩放的最大节点数 | int |
maxPods | 可在节点上运行的 Pod 的最大数目。 | int |
minCount | 自动缩放的最小节点数 | int |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “System” “User” |
名字 | Windows 代理池名称必须为 6 个字符或更少。 | string (必需) 约束: Pattern = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
nodeTaints | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | string[] |
orchestratorVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “Managed” |
osSKU | 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022 时,Kubernetes >= 1.25(如果 OSType 为 Windows)时,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
osType | 操作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “Deallocate” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “Deallocate” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “Spot” |
spotMaxPrice | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json() 函数。 | int 或 json decimal |
标签 | 要保留在代理池虚拟机规模集上的标记。 | 对象 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
vmSize | VM 大小可用性因区域而异。 如果节点包含的计算资源(内存、cpu 等)Pod 不足,可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions | 字符串 |
vnetSubnetID | 如果未指定,将生成和使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则它仅适用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
workloadRuntime | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
CreationData
名字 | 描述 | 价值 |
---|---|---|
sourceResourceId | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
KubeletConfig
名字 | 描述 | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以 * 结尾)。 |
string[] |
containerLogMaxFiles | 容器日志文件的最大数目。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
containerLogMaxSizeMB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | int |
cpuCfsQuota | 默认值为 true。 | bool |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | bool |
imageGcHighThreshold | 若要禁用映像垃圾回收,请设置为 100。 默认值为 85% | int |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | int |
podMaxPids | 每个 Pod 的最大进程数。 | int |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | 描述 | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | int |
sysctls | Linux 代理节点的 Sysctl 设置。 | SysctlConfig |
transparentHugePageDefrag | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePageEnabled | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
SysctlConfig
名字 | 描述 | 价值 |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | int |
fsNrOpen | Sysctl 设置fs.nr_open。 | int |
kernelThreadsMax | Sysctl 设置 kernel.threads-max。 | int |
netCoreNetdevMaxBacklog | Sysctl 设置net.core.netdev_max_backlog。 | int |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | int |
netCoreRmemDefault | Sysctl 设置net.core.rmem_default。 | int |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 设置net.core.wmem_default。 | int |
netCoreWmemMax | Sysctl 设置net.core.wmem_max。 | int |
netIpv4IpLocalPortRange | Sysctl 设置net.ipv4.ip_local_port_range。 | 字符串 |
netIpv4NeighDefaultGcThresh1 | Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 | int |
netIpv4TcpFinTimeout | Sysctl 设置net.ipv4.tcp_fin_timeout。 | int |
netIpv4TcpkeepaliveIntvl | Sysctl 设置net.ipv4.tcp_keepalive_intvl。 | int 约束: 最小值 = 10 最大值 = 90 |
netIpv4TcpKeepaliveProbes | Sysctl 设置net.ipv4.tcp_keepalive_probes。 | int |
netIpv4TcpKeepaliveTime | Sysctl 设置net.ipv4.tcp_keepalive_time。 | int |
netIpv4TcpMaxSynBacklog | Sysctl 设置net.ipv4.tcp_max_syn_backlog。 | int |
netIpv4TcpMaxTwBuckets | Sysctl 设置net.ipv4.tcp_max_tw_buckets。 | int |
netIpv4TcpTwReuse | Sysctl 设置net.ipv4.tcp_tw_reuse。 | bool |
netNetfilterNfConntrackBuckets | Sysctl 设置net.netfilter.nf_conntrack_buckets。 | int 约束: 最小值 = 65536 最大值 = 524288 |
netNetfilterNfConntrackMax | Sysctl 设置net.netfilter.nf_conntrack_max。 | int 约束: 最小值 = 131072 最大值 = 2097152 |
vmMaxMapCount | Sysctl 设置 vm.max_map_count。 | int |
vmSwappiness | Sysctl 设置 vm.swappiness。 | int |
vmVfsCachePressure | Sysctl 设置vm.vfs_cache_pressure。 | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PowerState
名字 | 描述 | 价值 |
---|---|---|
法典 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
AgentPoolUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
maxSurge | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
ManagedClusterAPIServerAccessProfile
名字 | 描述 | 价值 |
---|---|---|
authorizedIPRanges | IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围。 | string[] |
disableRunCommand | 是否禁用群集的 run 命令。 | bool |
enablePrivateCluster | 有关详细信息,请参阅 创建专用 AKS 群集。 | bool |
enablePrivateClusterPublicFQDN | 是否为专用群集创建其他公共 FQDN。 | bool |
privateDNSZone | 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 | 字符串 |
ManagedClusterPropertiesAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
balance-similar-node-groups | 有效值为“true”和“false” | 字符串 |
膨胀 | 如果未指定,则默认值为“random”。 有关详细信息,请参阅 扩展器。 | “最不浪费” “most-pods” “priority” “random” |
max-empty-bulk-delete | 默认值为 10。 | 字符串 |
max-graceful-termination-sec | 默认值为 600。 | 字符串 |
max-node-provision-time | 默认值为“15m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
max-total-unready-percentage | 默认值为 45。 最大值为 100,最小值为 0。 | 字符串 |
new-pod-scale-up-delay | 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“m”表示分钟,“h”表示小时等)。 | 字符串 |
ok-total-unready-count | 这必须是整数。 默认值为 3。 | 字符串 |
scale-down-delay-after-add | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-delete | 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-failure | 默认值为“3m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unneed-time | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unready-time | 默认值为“20m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-utilization-threshold | 默认值为“0.5”。 | 字符串 |
scan-interval | 默认值为“10”。 值必须是整数秒数。 | 字符串 |
skip-nodes-with-local-storage | 默认值为 true。 | 字符串 |
skip-nodes-with-system-pods | 默认值为 true。 | 字符串 |
ManagedClusterAutoUpgradeProfile
名字 | 描述 | 价值 |
---|---|---|
nodeOSUpgradeChannel | 更新节点上 OS 的方式。 默认值为 NodeImage。 | “NodeImage” “None” “非托管” |
upgradeChannel | 有关详细信息,请参阅 设置 AKS 群集自动升级通道。 | “node-image” “none” “patch” “rapid” “stable” |
ManagedClusterAzureMonitorProfile
名字 | 描述 | 价值 |
---|---|---|
指标 | 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现装的 Kubernetes 基础结构指标,以发送到 Azure Monitor 工作区,并为自定义目标配置额外的擦除。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 | ManagedClusterAzureMonitorProfileMetrics |
ManagedClusterAzureMonitorProfileMetrics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是启用或禁用用于 Prometheus 监视的 Azure 托管 Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 | bool (必需) |
kubeStateMetrics | Azure 托管 Prometheus 加载项的 Kube 状态指标配置文件。 这些可选设置适用于使用加载项部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 | ManagedClusterAzureMonitorProfileKubeStateMetrics |
ManagedClusterAzureMonitorProfileKubeStateMetrics
名字 | 描述 | 价值 |
---|---|---|
metricAnnotationsAllowList | 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表(示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
metricLabelsAllowlist | 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表(示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
ManagedClusterHttpProxyConfig
名字 | 描述 | 价值 |
---|---|---|
httpProxy | 要使用的 HTTP 代理服务器终结点。 | 字符串 |
httpsProxy | 要使用的 HTTPS 代理服务器终结点。 | 字符串 |
noProxy | 不应通过代理的终结点。 | string[] |
trustedCa | 用于连接到代理服务器的替代 CA 证书。 | 字符串 |
ManagedClusterPropertiesIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
名字 | 描述 | 价值 |
---|---|---|
clientId | 用户分配标识的客户端 ID。 | 字符串 |
objectId | 用户分配标识的对象 ID。 | 字符串 |
resourceId | 用户分配标识的资源 ID。 | 字符串 |
ContainerServiceLinuxProfile
名字 | 描述 | 价值 |
---|---|---|
adminUsername | 用于 Linux VM 的管理员用户名。 | string (必需) 约束: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | 在 Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 | ContainerServiceSshConfiguration (必需) |
ContainerServiceSshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 | ContainerServiceSshPublicKey[] (必需) |
ContainerServiceSshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 SSH 向 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式(带或不带标头)。 | string (必需) |
ContainerServiceNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServiceIP | 分配给 Kubernetes DNS 服务的 IP 地址。 它必须位于 serviceCidr 中指定的 Kubernetes 服务地址范围内。 | 字符串 约束: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
ipFamilies | IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 | 包含任一项的字符串数组: “IPv4” “IPv6” |
loadBalancerProfile | 群集负载均衡器的配置文件。 | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU。 | “basic” “standard” |
natGatewayProfile | 群集 NAT 网关的配置文件。 | ManagedClusterNATGatewayProfile |
networkDataplane | Kubernetes 群集中使用的网络数据平面。 | “azure” “cilium” |
networkMode | 如果 networkPlugin 不是“azure”,则无法指定此项。 | “bridge” “transparent” |
networkPlugin | 用于生成 Kubernetes 网络的网络插件。 | “azure” “kubenet” “none” |
networkPluginMode | 网络插件应使用的模式。 | “overlay” |
networkPolicy | 用于生成 Kubernetes 网络的网络策略。 | “azure” “calico” “cilium” |
outboundType | 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型。 | “loadBalancer” “managedNATGateway” “userAssignedNATGateway” “userDefinedRouting” |
podCidr | 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
podCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 | string[] |
serviceCidr | 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 它们不得与任何子网 IP 范围重叠。 | string[] |
ManagedClusterLoadBalancerProfile
名字 | 描述 | 价值 |
---|---|---|
allocatedOutboundPorts | 每个 VM 分配的 SNAT 端口的所需数量。 允许的值为 0 到 64000(含)。 默认值为 0,这会导致 Azure 动态分配端口。 | int 约束: 最小值 = 0 最大值 = 64000 |
effectiveOutboundIPs | 群集负载均衡器的有效出站 IP 资源。 | ResourceReference[] |
enableMultipleStandardLoadBalancers | 为每个 AKS 群集启用多个标准负载均衡器。 | bool |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 30 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPs | 群集负载均衡器的所需托管出站 IP。 | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 群集负载均衡器的所需出站 IP 前缀资源。 | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
outboundIP | 群集负载均衡器的所需出站 IP 资源。 | ManagedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
名字 | 描述 | 价值 |
---|---|---|
id | 完全限定的 Azure 资源 ID。 | 字符串 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 100 |
countIPv6 | Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 对于单堆栈,默认值为 0,双堆栈的默认值为 1。 | int 约束: 最小值 = 0 最大值 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
名字 | 描述 | 价值 |
---|---|---|
publicIPPrefixes | 公共 IP 前缀资源的列表。 | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
publicIP | 公共 IP 资源的列表。 | ResourceReference[] |
ManagedClusterNATGatewayProfile
名字 | 描述 | 价值 |
---|---|---|
effectiveOutboundIPs | 群集 NAT 网关的有效出站 IP 资源。 | ResourceReference[] |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 4 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPProfile | 群集 NAT 网关的托管出站 IP 资源的配置文件。 | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 16 |
ManagedClusterOidcIssuerProfile
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 OIDC 颁发者。 | bool |
ManagedClusterPodIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
allowNetworkPluginKubenet | 默认情况下,由于 AAD Pod 标识的安全相关特性以及 IP 欺骗的风险,在 Kubenet 中运行会禁用。 有关详细信息,请参阅 将 Kubenet 网络插件与 AAD Pod 标识 配合使用。 | bool |
启用 | 是否启用 Pod 标识加载项。 | bool |
userAssignedIdentities | 群集中使用的 Pod 标识。 | ManagedClusterPodIdentity[] |
userAssignedIdentityExceptions | 允许的 Pod 标识异常。 | ManagedClusterPodIdentityException[] |
ManagedClusterPodIdentity
名字 | 描述 | 价值 |
---|---|---|
bindingSelector | 要用于 AzureIdentityBinding 资源的绑定选择器。 | 字符串 |
身份 | 用户分配的标识详细信息。 | UserAssignedIdentity (必需) |
名字 | Pod 标识的名称。 | string (必需) |
namespace | Pod 标识的命名空间。 | string (必需) |
ManagedClusterPodIdentityException
名字 | 描述 | 价值 |
---|---|---|
名字 | Pod 标识异常的名称。 | string (必需) |
namespace | Pod 标识异常的命名空间。 | string (必需) |
podLabels | 要匹配的 Pod 标签。 | ManagedClusterPodIdentityExceptionPodLabels (必需) |
ManagedClusterPodIdentityExceptionPodLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PrivateLinkResource
名字 | 描述 | 价值 |
---|---|---|
groupId | 资源的组 ID。 | 字符串 |
id | 专用链接资源的 ID。 | 字符串 |
名字 | 专用链接资源的名称。 | 字符串 |
requiredMembers | 资源的 RequiredMembers | string[] |
类型 | 资源类型。 | 字符串 |
ManagedClusterSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
azureKeyVaultKms | Azure Key Vault 安全配置文件的密钥管理服务 设置。 | AzureKeyVaultKms |
辩护人 | Microsoft安全配置文件的 Defender 设置。 | ManagedClusterSecurityProfileDefender |
imageCleaner | 安全配置文件的图像清理器设置。 | ManagedClusterSecurityProfileImageCleaner |
workloadIdentity | 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi 。 |
ManagedClusterSecurityProfileWorkloadIdentity |
AzureKeyVaultKms
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 | bool |
keyId | Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 | 字符串 |
keyVaultNetworkAccess | 密钥保管库的网络访问。 可能的值为 Public 和 Private 。
Public 意味着 Key Vault 允许从所有网络进行公共访问。
Private 意味着密钥保管库禁用公共访问并启用专用链接。 默认值为 Public 。 |
“Private” “Public” |
keyVaultResourceId | 密钥保管库的资源 ID。 当 keyVaultNetworkAccess Private 时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess Public 时,请将字段留空。 |
字符串 |
ManagedClusterSecurityProfileDefender
名字 | 描述 | 价值 |
---|---|---|
logAnalyticsWorkspaceResourceId | 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender 后,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender 时,请将字段留空。 | 字符串 |
securityMonitoring | Microsoft安全配置文件的云设置的 Defender 威胁检测。 | ManagedClusterSecurityProfileDefenderSecurityMonitor... |
ManagedClusterSecurityProfileDefenderSecurityMonitor...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Defender 威胁检测 | bool |
ManagedClusterSecurityProfileImageCleaner
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否在 AKS 群集上启用映像清理器。 | bool |
intervalHours | 图像清理器扫描间隔(以小时为单位)。 | int |
ManagedClusterSecurityProfileWorkloadIdentity
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用工作负荷标识。 | bool |
ManagedClusterServicePrincipalProfile
名字 | 描述 | 价值 |
---|---|---|
clientId | 服务主体的 ID。 | string (必需) |
秘密 | 以纯文本形式与服务主体关联的机密密码。 | 字符串 |
ManagedClusterStorageProfile
名字 | 描述 | 价值 |
---|---|---|
blobCSIDriver | 存储配置文件的 AzureBlob CSI 驱动程序设置。 | ManagedClusterStorageProfileBlobCSIDriver |
diskCSIDriver | 存储配置文件的 AzureDisk CSI 驱动程序设置。 | ManagedClusterStorageProfileDiskCSIDriver |
fileCSIDriver | 存储配置文件的 AzureFile CSI 驱动程序设置。 | ManagedClusterStorageProfileFileCSIDriver |
snapshotController | 存储配置文件的快照控制器设置。 | ManagedClusterStorageProfileSnapshotController |
ManagedClusterStorageProfileBlobCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 | bool |
ManagedClusterStorageProfileDiskCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileFileCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileSnapshotController
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用快照控制器。 默认值为 true。 | bool |
ClusterUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
overrideSettings | 替代的设置。 | UpgradeOverrideSettings |
UpgradeOverrideSettings
名字 | 描述 | 价值 |
---|---|---|
forceUpgrade | 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 | bool |
直到 | 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 until 过期,升级的有效性也不会更改。 默认情况下不设置此字段。 必须设置重写才能生效。 |
字符串 |
ManagedClusterWindowsProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度: 8 个字符 最大长度: 123 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” |
字符串 |
adminUsername | 指定管理员帐户的名称。 限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度: 1 个字符 最大长度: 20 个字符 |
string (必需) |
enableCSIProxy | 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库。 | bool |
gmsaProfile | 托管群集中的 Windows gMSA 配置文件。 | WindowsGmsaProfile |
licenseType | 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益。 | “None” “Windows_Server” |
WindowsGmsaProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServer | 指定 Windows gMSA 的 DNS 服务器。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
启用 | 指定是否在托管群集中启用 Windows gMSA。 | bool |
rootDomainName | 指定 Windows gMSA 的根域名。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
ManagedClusterWorkloadAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
keda | KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfileKeda |
verticalPodAutoscaler | 工作负荷自动缩放程序配置文件的 VPA(垂直 Pod 自动缩放程序)设置。 | ManagedClusterWorkloadAutoScalerProfileVerticalPodAu... |
ManagedClusterWorkloadAutoScalerProfileKeda
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 KEDA。 | bool (必需) |
ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 VPA。 默认值为 false。 | bool (必需) |
ManagedClusterSKU
名字 | 描述 | 价值 |
---|---|---|
名字 | 托管群集 SKU 的名称。 | “Base” |
层 | 如果未指定,则默认值为“Free”。 有关详细信息,请参阅 AKS 定价层。 | “Free” “Premium” “Standard” |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
在 Azure 容器服务(AKS)上使用 Jenkins CI/CD |
容器使你可以轻松地持续生成和部署应用程序。 通过在 Azure 容器服务中使用 Kubernetes 协调这些容器的部署,可以实现可复制、可管理的容器群集。 通过设置持续生成来生成容器映像和业务流程,可以提高部署的速度和可靠性。 |
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供受 Blob 存储支持的符合 S3 的存储 API |
使用 NAT 网关和应用程序网关 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。 |
创建专用 AKS 群集 |
此示例演示如何在虚拟网络中创建专用 AKS 群集以及 jumpbox 虚拟机。 |
使用公共 DNS 区域创建专用 AKS 群集 |
此示例演示如何使用公共 DNS 区域部署专用 AKS 群集。 |
部署托管 Kubernetes 群集(AKS) |
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络。 此外,所选的服务主体将针对包含 AKS 群集的子网分配网络参与者角色。 |
使用 AAD 部署托管 Kubernetes 群集(AKS) |
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络和 Azure AD 整数。 此外,所选的服务主体将针对包含 AKS 群集的子网分配网络参与者角色。 |
为 Azure ML 部署 AKS 群集 |
使用此模板可以部署可附加到 Azure ML 的符合条目的 AKS 群集 |
Azure 容器服务 (AKS) |
使用 Azure 容器服务部署托管群集(AKS) |
Azure 容器服务 (AKS) |
使用 Azure Linux 容器主机部署具有 Azure 容器服务(AKS)的托管群集 |
使用 Helm |
使用 Helm 部署具有 Azure 容器服务(AKS)的托管群集 |
Azure Kubernetes 服务 (AKS) |
通过 Azure Kubernetes 服务部署托管 Kubernetes 群集 (AKS) |
使用应用程序网关入口控制器 |
此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集 |
ARM 模板资源定义
可以使用目标操作部署 managedClusters 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
言论
有关可用加载项的信息,请参阅 加载项、扩展和其他与 Azure Kubernetes 服务集成。
资源格式
若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2023-07-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"name": "Base",
"tier": "string"
},
"extendedLocation": {
"name": "string",
"type": "EdgeZone"
},
"identity": {
"delegatedResources": {
"{customized property}": {
"location": "string",
"referralResource": "string",
"resourceId": "string",
"tenantId": "string"
}
},
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"properties": {
"aadProfile": {
"adminGroupObjectIDs": [ "string" ],
"clientAppID": "string",
"enableAzureRBAC": "bool",
"managed": "bool",
"serverAppID": "string",
"serverAppSecret": "string",
"tenantID": "string"
},
"addonProfiles": {
"{customized property}": {
"config": {
"{customized property}": "string"
},
"enabled": "bool"
}
},
"agentPoolProfiles": [
{
"availabilityZones": [ "string" ],
"count": "int",
"creationData": {
"sourceResourceId": "string"
},
"enableAutoScaling": "bool",
"enableEncryptionAtHost": "bool",
"enableFIPS": "bool",
"enableNodePublicIP": "bool",
"enableUltraSSD": "bool",
"gpuInstanceProfile": "string",
"hostGroupID": "string",
"kubeletConfig": {
"allowedUnsafeSysctls": [ "string" ],
"containerLogMaxFiles": "int",
"containerLogMaxSizeMB": "int",
"cpuCfsQuota": "bool",
"cpuCfsQuotaPeriod": "string",
"cpuManagerPolicy": "string",
"failSwapOn": "bool",
"imageGcHighThreshold": "int",
"imageGcLowThreshold": "int",
"podMaxPids": "int",
"topologyManagerPolicy": "string"
},
"kubeletDiskType": "string",
"linuxOSConfig": {
"swapFileSizeMB": "int",
"sysctls": {
"fsAioMaxNr": "int",
"fsFileMax": "int",
"fsInotifyMaxUserWatches": "int",
"fsNrOpen": "int",
"kernelThreadsMax": "int",
"netCoreNetdevMaxBacklog": "int",
"netCoreOptmemMax": "int",
"netCoreRmemDefault": "int",
"netCoreRmemMax": "int",
"netCoreSomaxconn": "int",
"netCoreWmemDefault": "int",
"netCoreWmemMax": "int",
"netIpv4IpLocalPortRange": "string",
"netIpv4NeighDefaultGcThresh1": "int",
"netIpv4NeighDefaultGcThresh2": "int",
"netIpv4NeighDefaultGcThresh3": "int",
"netIpv4TcpFinTimeout": "int",
"netIpv4TcpkeepaliveIntvl": "int",
"netIpv4TcpKeepaliveProbes": "int",
"netIpv4TcpKeepaliveTime": "int",
"netIpv4TcpMaxSynBacklog": "int",
"netIpv4TcpMaxTwBuckets": "int",
"netIpv4TcpTwReuse": "bool",
"netNetfilterNfConntrackBuckets": "int",
"netNetfilterNfConntrackMax": "int",
"vmMaxMapCount": "int",
"vmSwappiness": "int",
"vmVfsCachePressure": "int"
},
"transparentHugePageDefrag": "string",
"transparentHugePageEnabled": "string"
},
"maxCount": "int",
"maxPods": "int",
"minCount": "int",
"mode": "string",
"name": "string",
"nodeLabels": {
"{customized property}": "string"
},
"nodePublicIPPrefixID": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osSKU": "string",
"osType": "string",
"podSubnetID": "string",
"powerState": {
"code": "string"
},
"proximityPlacementGroupID": "string",
"scaleDownMode": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"spotMaxPrice": "[json('decimal-as-string')]",
"tags": {},
"type": "string",
"upgradeSettings": {
"drainTimeoutInMinutes": "int",
"maxSurge": "string"
},
"vmSize": "string",
"vnetSubnetID": "string",
"workloadRuntime": "string"
}
],
"apiServerAccessProfile": {
"authorizedIPRanges": [ "string" ],
"disableRunCommand": "bool",
"enablePrivateCluster": "bool",
"enablePrivateClusterPublicFQDN": "bool",
"privateDNSZone": "string"
},
"autoScalerProfile": {
"balance-similar-node-groups": "string",
"expander": "string",
"max-empty-bulk-delete": "string",
"max-graceful-termination-sec": "string",
"max-node-provision-time": "string",
"max-total-unready-percentage": "string",
"new-pod-scale-up-delay": "string",
"ok-total-unready-count": "string",
"scale-down-delay-after-add": "string",
"scale-down-delay-after-delete": "string",
"scale-down-delay-after-failure": "string",
"scale-down-unneeded-time": "string",
"scale-down-unready-time": "string",
"scale-down-utilization-threshold": "string",
"scan-interval": "string",
"skip-nodes-with-local-storage": "string",
"skip-nodes-with-system-pods": "string"
},
"autoUpgradeProfile": {
"nodeOSUpgradeChannel": "string",
"upgradeChannel": "string"
},
"azureMonitorProfile": {
"metrics": {
"enabled": "bool",
"kubeStateMetrics": {
"metricAnnotationsAllowList": "string",
"metricLabelsAllowlist": "string"
}
}
},
"disableLocalAccounts": "bool",
"diskEncryptionSetID": "string",
"dnsPrefix": "string",
"enablePodSecurityPolicy": "bool",
"enableRBAC": "bool",
"fqdnSubdomain": "string",
"httpProxyConfig": {
"httpProxy": "string",
"httpsProxy": "string",
"noProxy": [ "string" ],
"trustedCa": "string"
},
"identityProfile": {
"{customized property}": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
}
},
"kubernetesVersion": "string",
"linuxProfile": {
"adminUsername": "string",
"ssh": {
"publicKeys": [
{
"keyData": "string"
}
]
}
},
"networkProfile": {
"dnsServiceIP": "string",
"ipFamilies": [ "string" ],
"loadBalancerProfile": {
"allocatedOutboundPorts": "int",
"effectiveOutboundIPs": [
{
"id": "string"
}
],
"enableMultipleStandardLoadBalancers": "bool",
"idleTimeoutInMinutes": "int",
"managedOutboundIPs": {
"count": "int",
"countIPv6": "int"
},
"outboundIPPrefixes": {
"publicIPPrefixes": [
{
"id": "string"
}
]
},
"outboundIPs": {
"publicIPs": [
{
"id": "string"
}
]
}
},
"loadBalancerSku": "string",
"natGatewayProfile": {
"effectiveOutboundIPs": [
{
"id": "string"
}
],
"idleTimeoutInMinutes": "int",
"managedOutboundIPProfile": {
"count": "int"
}
},
"networkDataplane": "string",
"networkMode": "string",
"networkPlugin": "string",
"networkPluginMode": "overlay",
"networkPolicy": "string",
"outboundType": "string",
"podCidr": "string",
"podCidrs": [ "string" ],
"serviceCidr": "string",
"serviceCidrs": [ "string" ]
},
"nodeResourceGroup": "string",
"oidcIssuerProfile": {
"enabled": "bool"
},
"podIdentityProfile": {
"allowNetworkPluginKubenet": "bool",
"enabled": "bool",
"userAssignedIdentities": [
{
"bindingSelector": "string",
"identity": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
},
"name": "string",
"namespace": "string"
}
],
"userAssignedIdentityExceptions": [
{
"name": "string",
"namespace": "string",
"podLabels": {
"{customized property}": "string"
}
}
]
},
"privateLinkResources": [
{
"groupId": "string",
"id": "string",
"name": "string",
"requiredMembers": [ "string" ],
"type": "string"
}
],
"publicNetworkAccess": "string",
"securityProfile": {
"azureKeyVaultKms": {
"enabled": "bool",
"keyId": "string",
"keyVaultNetworkAccess": "string",
"keyVaultResourceId": "string"
},
"defender": {
"logAnalyticsWorkspaceResourceId": "string",
"securityMonitoring": {
"enabled": "bool"
}
},
"imageCleaner": {
"enabled": "bool",
"intervalHours": "int"
},
"workloadIdentity": {
"enabled": "bool"
}
},
"servicePrincipalProfile": {
"clientId": "string",
"secret": "string"
},
"storageProfile": {
"blobCSIDriver": {
"enabled": "bool"
},
"diskCSIDriver": {
"enabled": "bool"
},
"fileCSIDriver": {
"enabled": "bool"
},
"snapshotController": {
"enabled": "bool"
}
},
"supportPlan": "string",
"upgradeSettings": {
"overrideSettings": {
"forceUpgrade": "bool",
"until": "string"
}
},
"windowsProfile": {
"adminPassword": "string",
"adminUsername": "string",
"enableCSIProxy": "bool",
"gmsaProfile": {
"dnsServer": "string",
"enabled": "bool",
"rootDomainName": "string"
},
"licenseType": "string"
},
"workloadAutoScalerProfile": {
"keda": {
"enabled": "bool"
},
"verticalPodAutoscaler": {
"enabled": "bool"
}
}
}
}
属性值
managedClusters
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.ContainerService/managedClusters” |
apiVersion | 资源 API 版本 | '2023-07-01' |
名字 | 资源名称 | string (必需) 字符限制:1-63 有效字符: 字母数字、下划线和连字符。 以字母数字开头和结尾。 |
位置 | 资源所在的地理位置 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 请参阅模板 中的 |
sku | 托管群集 SKU。 | ManagedClusterSKU |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 托管群集的标识(如果已配置)。 | ManagedClusterIdentity |
性能 | 托管群集的属性。 | ManagedClusterProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
ManagedClusterIdentity
名字 | 描述 | 价值 |
---|---|---|
delegatedResources | 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委派的标识资源。 仅供内部使用。 | DelegatedResources |
类型 | 有关详细信息,请参阅 在 AKS中使用托管标识。 | “None” “SystemAssigned” “UserAssigned” |
userAssignedIdentities | 密钥必须是 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | ManagedClusterIdentityUserAssignedIdentities |
DelegatedResources
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | DelegatedResource |
DelegatedResource
名字 | 描述 | 价值 |
---|---|---|
位置 | 源资源位置 - 仅供内部使用。 | 字符串 |
referralResource | 引荐委派(可选)的委托 ID - 仅供内部使用。 | 字符串 |
resourceId | 委派资源的 ARM 资源 ID - 仅供内部使用。 | 字符串 |
tenantId | 委托资源的租户 ID - 仅供内部使用。 | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
ManagedClusterIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ManagedClusterProperties
名字 | 描述 | 价值 |
---|---|---|
aadProfile | Azure Active Directory 配置。 | ManagedClusterAADProfile |
addonProfiles | 托管群集加载项的配置文件。 | ManagedClusterPropertiesAddonProfiles |
agentPoolProfiles | 代理池属性。 | ManagedClusterAgentPoolProfile[] |
apiServerAccessProfile | 托管群集 API 服务器的访问配置文件。 | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 启用时要应用于群集自动缩放程序的参数 | ManagedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 自动升级配置。 | ManagedClusterAutoUpgradeProfile |
azureMonitorProfile | 用于监视托管群集的 Azure Monitor 加载项配置文件。 | ManagedClusterAzureMonitorProfile |
disableLocalAccounts | 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户。 | bool |
diskEncryptionSetID | 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” | 字符串 |
dnsPrefix | 创建托管群集后,无法更新此功能。 | 字符串 |
enablePodSecurityPolicy | (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 v1.25 中从 Kubernetes 中删除。 在 https://aka.ms/k8s/psp 和 https://aka.ms/aks/psp. 了解详细信息 |
bool |
enableRBAC | 是否启用 Kubernetes Role-Based 访问控制。 | bool |
fqdnSubdomain | 创建托管群集后,无法更新此功能。 | 字符串 |
httpProxyConfig | 使用 HTTP 代理服务器预配群集的配置。 | ManagedClusterHttpProxyConfig |
identityProfile | 与群集关联的标识。 | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 升级支持的 AKS 群集时,无法跳过 Kubernetes 次要版本。 所有升级都必须按主版本号按顺序执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许使用 1.14.x -} 1.16.x。 有关更多详细信息,请参阅 升级 AKS 群集。 | 字符串 |
linuxProfile | 托管群集中 Linux VM 的配置文件。 | ContainerServiceLinuxProfile |
networkProfile | 网络配置文件。 | ContainerServiceNetworkProfile |
nodeResourceGroup | 包含代理池节点的资源组的名称。 | 字符串 |
oidcIssuerProfile | 托管群集的 OIDC 颁发者配置文件。 | ManagedClusterOidcIssuerProfile |
podIdentityProfile | 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识。 | ManagedClusterPodIdentityProfile |
privateLinkResources | 与群集关联的专用链接资源。 | PrivateLinkResource[] |
publicNetworkAccess | 允许或拒绝 AKS 的公共网络访问 | “Disabled” “Enabled” |
securityProfile | 托管群集的安全配置文件。 | ManagedClusterSecurityProfile |
servicePrincipalProfile | 有关群集用于操作 Azure API 的服务主体标识的信息。 | ManagedClusterServicePrincipalProfile |
storageProfile | 托管群集的存储配置文件。 | ManagedClusterStorageProfile |
supportPlan | 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 | “AKSLongTermSupport” “KubernetesOfficial” |
upgradeSettings | 用于升级群集的设置。 | ClusterUpgradeSettings |
windowsProfile | 托管群集中 Windows VM 的配置文件。 | ManagedClusterWindowsProfile |
workloadAutoScalerProfile | 托管群集的工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfile |
ManagedClusterAADProfile
名字 | 描述 | 价值 |
---|---|---|
adminGroupObjectIDs | 将具有群集管理员角色的 AAD 组对象 ID 的列表。 | string[] |
clientAppID | (已弃用)客户端 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
enableAzureRBAC | 是否为 Kubernetes 授权启用 Azure RBAC。 | bool |
管理 | 是否启用托管 AAD。 | bool |
serverAppID | (已弃用)服务器 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
serverAppSecret | (已弃用)服务器 AAD 应用程序机密。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
tenantID | 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 | 字符串 |
ManagedClusterPropertiesAddonProfiles
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
名字 | 描述 | 价值 |
---|---|---|
配置 | 用于配置加载项的键值对。 | ManagedClusterAddonProfileConfig |
启用 | 是否启用加载项。 | bool (必需) |
ManagedClusterAddonProfileConfig
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
ManagedClusterAgentPoolProfile
名字 | 描述 | 价值 |
---|---|---|
availabilityZones | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | string[] |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | int |
creationData | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData |
enableAutoScaling | 是否启用自动缩放程序 | bool |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | bool |
enableFIPS | 有关详细信息,请参阅 添加启用了 FIPS 的节点池。 | bool |
enableNodePublicIP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | bool |
enableUltraSSD | 是否启用 UltraSSD | bool |
gpuInstanceProfile | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
hostGroupID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubeletConfig | 代理池节点上的 Kubelet 配置。 | KubeletConfig |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
maxCount | 自动缩放的最大节点数 | int |
maxPods | 可在节点上运行的 Pod 的最大数目。 | int |
minCount | 自动缩放的最小节点数 | int |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “System” “User” |
名字 | Windows 代理池名称必须为 6 个字符或更少。 | string (必需) 约束: Pattern = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
nodeTaints | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | string[] |
orchestratorVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “Managed” |
osSKU | 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022 时,Kubernetes >= 1.25(如果 OSType 为 Windows)时,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
osType | 操作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “Deallocate” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “Deallocate” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “Spot” |
spotMaxPrice | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 若要指定十进制值,请使用 json() 函数。 | int 或 json decimal |
标签 | 要保留在代理池虚拟机规模集上的标记。 | 对象 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
vmSize | VM 大小可用性因区域而异。 如果节点包含的计算资源(内存、cpu 等)Pod 不足,可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions | 字符串 |
vnetSubnetID | 如果未指定,将生成和使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则它仅适用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
workloadRuntime | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
CreationData
名字 | 描述 | 价值 |
---|---|---|
sourceResourceId | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
KubeletConfig
名字 | 描述 | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以 * 结尾)。 |
string[] |
containerLogMaxFiles | 容器日志文件的最大数目。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
containerLogMaxSizeMB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | int |
cpuCfsQuota | 默认值为 true。 | bool |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | bool |
imageGcHighThreshold | 若要禁用映像垃圾回收,请设置为 100。 默认值为 85% | int |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | int |
podMaxPids | 每个 Pod 的最大进程数。 | int |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | 描述 | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | int |
sysctls | Linux 代理节点的 Sysctl 设置。 | SysctlConfig |
transparentHugePageDefrag | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePageEnabled | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
SysctlConfig
名字 | 描述 | 价值 |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | int |
fsNrOpen | Sysctl 设置fs.nr_open。 | int |
kernelThreadsMax | Sysctl 设置 kernel.threads-max。 | int |
netCoreNetdevMaxBacklog | Sysctl 设置net.core.netdev_max_backlog。 | int |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | int |
netCoreRmemDefault | Sysctl 设置net.core.rmem_default。 | int |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 设置net.core.wmem_default。 | int |
netCoreWmemMax | Sysctl 设置net.core.wmem_max。 | int |
netIpv4IpLocalPortRange | Sysctl 设置net.ipv4.ip_local_port_range。 | 字符串 |
netIpv4NeighDefaultGcThresh1 | Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 | int |
netIpv4TcpFinTimeout | Sysctl 设置net.ipv4.tcp_fin_timeout。 | int |
netIpv4TcpkeepaliveIntvl | Sysctl 设置net.ipv4.tcp_keepalive_intvl。 | int 约束: 最小值 = 10 最大值 = 90 |
netIpv4TcpKeepaliveProbes | Sysctl 设置net.ipv4.tcp_keepalive_probes。 | int |
netIpv4TcpKeepaliveTime | Sysctl 设置net.ipv4.tcp_keepalive_time。 | int |
netIpv4TcpMaxSynBacklog | Sysctl 设置net.ipv4.tcp_max_syn_backlog。 | int |
netIpv4TcpMaxTwBuckets | Sysctl 设置net.ipv4.tcp_max_tw_buckets。 | int |
netIpv4TcpTwReuse | Sysctl 设置net.ipv4.tcp_tw_reuse。 | bool |
netNetfilterNfConntrackBuckets | Sysctl 设置net.netfilter.nf_conntrack_buckets。 | int 约束: 最小值 = 65536 最大值 = 524288 |
netNetfilterNfConntrackMax | Sysctl 设置net.netfilter.nf_conntrack_max。 | int 约束: 最小值 = 131072 最大值 = 2097152 |
vmMaxMapCount | Sysctl 设置 vm.max_map_count。 | int |
vmSwappiness | Sysctl 设置 vm.swappiness。 | int |
vmVfsCachePressure | Sysctl 设置vm.vfs_cache_pressure。 | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PowerState
名字 | 描述 | 价值 |
---|---|---|
法典 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
AgentPoolUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
maxSurge | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
ManagedClusterAPIServerAccessProfile
名字 | 描述 | 价值 |
---|---|---|
authorizedIPRanges | IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围。 | string[] |
disableRunCommand | 是否禁用群集的 run 命令。 | bool |
enablePrivateCluster | 有关详细信息,请参阅 创建专用 AKS 群集。 | bool |
enablePrivateClusterPublicFQDN | 是否为专用群集创建其他公共 FQDN。 | bool |
privateDNSZone | 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 | 字符串 |
ManagedClusterPropertiesAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
balance-similar-node-groups | 有效值为“true”和“false” | 字符串 |
膨胀 | 如果未指定,则默认值为“random”。 有关详细信息,请参阅 扩展器。 | “最不浪费” “most-pods” “priority” “random” |
max-empty-bulk-delete | 默认值为 10。 | 字符串 |
max-graceful-termination-sec | 默认值为 600。 | 字符串 |
max-node-provision-time | 默认值为“15m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
max-total-unready-percentage | 默认值为 45。 最大值为 100,最小值为 0。 | 字符串 |
new-pod-scale-up-delay | 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“m”表示分钟,“h”表示小时等)。 | 字符串 |
ok-total-unready-count | 这必须是整数。 默认值为 3。 | 字符串 |
scale-down-delay-after-add | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-delete | 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-failure | 默认值为“3m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unneed-time | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unready-time | 默认值为“20m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-utilization-threshold | 默认值为“0.5”。 | 字符串 |
scan-interval | 默认值为“10”。 值必须是整数秒数。 | 字符串 |
skip-nodes-with-local-storage | 默认值为 true。 | 字符串 |
skip-nodes-with-system-pods | 默认值为 true。 | 字符串 |
ManagedClusterAutoUpgradeProfile
名字 | 描述 | 价值 |
---|---|---|
nodeOSUpgradeChannel | 更新节点上 OS 的方式。 默认值为 NodeImage。 | “NodeImage” “None” “非托管” |
upgradeChannel | 有关详细信息,请参阅 设置 AKS 群集自动升级通道。 | “node-image” “none” “patch” “rapid” “stable” |
ManagedClusterAzureMonitorProfile
名字 | 描述 | 价值 |
---|---|---|
指标 | 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现装的 Kubernetes 基础结构指标,以发送到 Azure Monitor 工作区,并为自定义目标配置额外的擦除。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 | ManagedClusterAzureMonitorProfileMetrics |
ManagedClusterAzureMonitorProfileMetrics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是启用或禁用用于 Prometheus 监视的 Azure 托管 Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 | bool (必需) |
kubeStateMetrics | Azure 托管 Prometheus 加载项的 Kube 状态指标配置文件。 这些可选设置适用于使用加载项部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 | ManagedClusterAzureMonitorProfileKubeStateMetrics |
ManagedClusterAzureMonitorProfileKubeStateMetrics
名字 | 描述 | 价值 |
---|---|---|
metricAnnotationsAllowList | 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表(示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
metricLabelsAllowlist | 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表(示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
ManagedClusterHttpProxyConfig
名字 | 描述 | 价值 |
---|---|---|
httpProxy | 要使用的 HTTP 代理服务器终结点。 | 字符串 |
httpsProxy | 要使用的 HTTPS 代理服务器终结点。 | 字符串 |
noProxy | 不应通过代理的终结点。 | string[] |
trustedCa | 用于连接到代理服务器的替代 CA 证书。 | 字符串 |
ManagedClusterPropertiesIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
名字 | 描述 | 价值 |
---|---|---|
clientId | 用户分配标识的客户端 ID。 | 字符串 |
objectId | 用户分配标识的对象 ID。 | 字符串 |
resourceId | 用户分配标识的资源 ID。 | 字符串 |
ContainerServiceLinuxProfile
名字 | 描述 | 价值 |
---|---|---|
adminUsername | 用于 Linux VM 的管理员用户名。 | string (必需) 约束: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | 在 Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 | ContainerServiceSshConfiguration (必需) |
ContainerServiceSshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 | ContainerServiceSshPublicKey[] (必需) |
ContainerServiceSshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 SSH 向 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式(带或不带标头)。 | string (必需) |
ContainerServiceNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServiceIP | 分配给 Kubernetes DNS 服务的 IP 地址。 它必须位于 serviceCidr 中指定的 Kubernetes 服务地址范围内。 | 字符串 约束: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
ipFamilies | IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 | 包含任一项的字符串数组: “IPv4” “IPv6” |
loadBalancerProfile | 群集负载均衡器的配置文件。 | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU。 | “basic” “standard” |
natGatewayProfile | 群集 NAT 网关的配置文件。 | ManagedClusterNATGatewayProfile |
networkDataplane | Kubernetes 群集中使用的网络数据平面。 | “azure” “cilium” |
networkMode | 如果 networkPlugin 不是“azure”,则无法指定此项。 | “bridge” “transparent” |
networkPlugin | 用于生成 Kubernetes 网络的网络插件。 | “azure” “kubenet” “none” |
networkPluginMode | 网络插件应使用的模式。 | “overlay” |
networkPolicy | 用于生成 Kubernetes 网络的网络策略。 | “azure” “calico” “cilium” |
outboundType | 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型。 | “loadBalancer” “managedNATGateway” “userAssignedNATGateway” “userDefinedRouting” |
podCidr | 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
podCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 | string[] |
serviceCidr | 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 它们不得与任何子网 IP 范围重叠。 | string[] |
ManagedClusterLoadBalancerProfile
名字 | 描述 | 价值 |
---|---|---|
allocatedOutboundPorts | 每个 VM 分配的 SNAT 端口的所需数量。 允许的值为 0 到 64000(含)。 默认值为 0,这会导致 Azure 动态分配端口。 | int 约束: 最小值 = 0 最大值 = 64000 |
effectiveOutboundIPs | 群集负载均衡器的有效出站 IP 资源。 | ResourceReference[] |
enableMultipleStandardLoadBalancers | 为每个 AKS 群集启用多个标准负载均衡器。 | bool |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 30 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPs | 群集负载均衡器的所需托管出站 IP。 | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 群集负载均衡器的所需出站 IP 前缀资源。 | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
outboundIP | 群集负载均衡器的所需出站 IP 资源。 | ManagedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
名字 | 描述 | 价值 |
---|---|---|
id | 完全限定的 Azure 资源 ID。 | 字符串 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 100 |
countIPv6 | Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 对于单堆栈,默认值为 0,双堆栈的默认值为 1。 | int 约束: 最小值 = 0 最大值 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
名字 | 描述 | 价值 |
---|---|---|
publicIPPrefixes | 公共 IP 前缀资源的列表。 | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
publicIP | 公共 IP 资源的列表。 | ResourceReference[] |
ManagedClusterNATGatewayProfile
名字 | 描述 | 价值 |
---|---|---|
effectiveOutboundIPs | 群集 NAT 网关的有效出站 IP 资源。 | ResourceReference[] |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 4 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPProfile | 群集 NAT 网关的托管出站 IP 资源的配置文件。 | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 16 |
ManagedClusterOidcIssuerProfile
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 OIDC 颁发者。 | bool |
ManagedClusterPodIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
allowNetworkPluginKubenet | 默认情况下,由于 AAD Pod 标识的安全相关特性以及 IP 欺骗的风险,在 Kubenet 中运行会禁用。 有关详细信息,请参阅 将 Kubenet 网络插件与 AAD Pod 标识 配合使用。 | bool |
启用 | 是否启用 Pod 标识加载项。 | bool |
userAssignedIdentities | 群集中使用的 Pod 标识。 | ManagedClusterPodIdentity[] |
userAssignedIdentityExceptions | 允许的 Pod 标识异常。 | ManagedClusterPodIdentityException[] |
ManagedClusterPodIdentity
名字 | 描述 | 价值 |
---|---|---|
bindingSelector | 要用于 AzureIdentityBinding 资源的绑定选择器。 | 字符串 |
身份 | 用户分配的标识详细信息。 | UserAssignedIdentity (必需) |
名字 | Pod 标识的名称。 | string (必需) |
namespace | Pod 标识的命名空间。 | string (必需) |
ManagedClusterPodIdentityException
名字 | 描述 | 价值 |
---|---|---|
名字 | Pod 标识异常的名称。 | string (必需) |
namespace | Pod 标识异常的命名空间。 | string (必需) |
podLabels | 要匹配的 Pod 标签。 | ManagedClusterPodIdentityExceptionPodLabels (必需) |
ManagedClusterPodIdentityExceptionPodLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PrivateLinkResource
名字 | 描述 | 价值 |
---|---|---|
groupId | 资源的组 ID。 | 字符串 |
id | 专用链接资源的 ID。 | 字符串 |
名字 | 专用链接资源的名称。 | 字符串 |
requiredMembers | 资源的 RequiredMembers | string[] |
类型 | 资源类型。 | 字符串 |
ManagedClusterSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
azureKeyVaultKms | Azure Key Vault 安全配置文件的密钥管理服务 设置。 | AzureKeyVaultKms |
辩护人 | Microsoft安全配置文件的 Defender 设置。 | ManagedClusterSecurityProfileDefender |
imageCleaner | 安全配置文件的图像清理器设置。 | ManagedClusterSecurityProfileImageCleaner |
workloadIdentity | 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi 。 |
ManagedClusterSecurityProfileWorkloadIdentity |
AzureKeyVaultKms
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 | bool |
keyId | Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 | 字符串 |
keyVaultNetworkAccess | 密钥保管库的网络访问。 可能的值为 Public 和 Private 。
Public 意味着 Key Vault 允许从所有网络进行公共访问。
Private 意味着密钥保管库禁用公共访问并启用专用链接。 默认值为 Public 。 |
“Private” “Public” |
keyVaultResourceId | 密钥保管库的资源 ID。 当 keyVaultNetworkAccess Private 时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess Public 时,请将字段留空。 |
字符串 |
ManagedClusterSecurityProfileDefender
名字 | 描述 | 价值 |
---|---|---|
logAnalyticsWorkspaceResourceId | 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender 后,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender 时,请将字段留空。 | 字符串 |
securityMonitoring | Microsoft安全配置文件的云设置的 Defender 威胁检测。 | ManagedClusterSecurityProfileDefenderSecurityMonitor... |
ManagedClusterSecurityProfileDefenderSecurityMonitor...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Defender 威胁检测 | bool |
ManagedClusterSecurityProfileImageCleaner
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否在 AKS 群集上启用映像清理器。 | bool |
intervalHours | 图像清理器扫描间隔(以小时为单位)。 | int |
ManagedClusterSecurityProfileWorkloadIdentity
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用工作负荷标识。 | bool |
ManagedClusterServicePrincipalProfile
名字 | 描述 | 价值 |
---|---|---|
clientId | 服务主体的 ID。 | string (必需) |
秘密 | 以纯文本形式与服务主体关联的机密密码。 | 字符串 |
ManagedClusterStorageProfile
名字 | 描述 | 价值 |
---|---|---|
blobCSIDriver | 存储配置文件的 AzureBlob CSI 驱动程序设置。 | ManagedClusterStorageProfileBlobCSIDriver |
diskCSIDriver | 存储配置文件的 AzureDisk CSI 驱动程序设置。 | ManagedClusterStorageProfileDiskCSIDriver |
fileCSIDriver | 存储配置文件的 AzureFile CSI 驱动程序设置。 | ManagedClusterStorageProfileFileCSIDriver |
snapshotController | 存储配置文件的快照控制器设置。 | ManagedClusterStorageProfileSnapshotController |
ManagedClusterStorageProfileBlobCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 | bool |
ManagedClusterStorageProfileDiskCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileFileCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileSnapshotController
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用快照控制器。 默认值为 true。 | bool |
ClusterUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
overrideSettings | 替代的设置。 | UpgradeOverrideSettings |
UpgradeOverrideSettings
名字 | 描述 | 价值 |
---|---|---|
forceUpgrade | 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 | bool |
直到 | 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 until 过期,升级的有效性也不会更改。 默认情况下不设置此字段。 必须设置重写才能生效。 |
字符串 |
ManagedClusterWindowsProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度: 8 个字符 最大长度: 123 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” |
字符串 |
adminUsername | 指定管理员帐户的名称。 限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度: 1 个字符 最大长度: 20 个字符 |
string (必需) |
enableCSIProxy | 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库。 | bool |
gmsaProfile | 托管群集中的 Windows gMSA 配置文件。 | WindowsGmsaProfile |
licenseType | 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益。 | “None” “Windows_Server” |
WindowsGmsaProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServer | 指定 Windows gMSA 的 DNS 服务器。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
启用 | 指定是否在托管群集中启用 Windows gMSA。 | bool |
rootDomainName | 指定 Windows gMSA 的根域名。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
ManagedClusterWorkloadAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
keda | KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfileKeda |
verticalPodAutoscaler | 工作负荷自动缩放程序配置文件的 VPA(垂直 Pod 自动缩放程序)设置。 | ManagedClusterWorkloadAutoScalerProfileVerticalPodAu... |
ManagedClusterWorkloadAutoScalerProfileKeda
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 KEDA。 | bool (必需) |
ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 VPA。 默认值为 false。 | bool (必需) |
ManagedClusterSKU
名字 | 描述 | 价值 |
---|---|---|
名字 | 托管群集 SKU 的名称。 | “Base” |
层 | 如果未指定,则默认值为“Free”。 有关详细信息,请参阅 AKS 定价层。 | “Free” “Premium” “Standard” |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
在 Azure 容器服务(AKS)上使用 Jenkins CI/CD |
容器使你可以轻松地持续生成和部署应用程序。 通过在 Azure 容器服务中使用 Kubernetes 协调这些容器的部署,可以实现可复制、可管理的容器群集。 通过设置持续生成来生成容器映像和业务流程,可以提高部署的速度和可靠性。 |
min.io Azure 网关 |
完全专用 min.io Azure 网关部署,以提供受 Blob 存储支持的符合 S3 的存储 API |
使用 NAT 网关和应用程序网关 |
此示例演示如何使用 NAT 网关部署 AKS 群集进行出站连接,以及如何为入站连接部署应用程序网关。 |
创建专用 AKS 群集 |
此示例演示如何在虚拟网络中创建专用 AKS 群集以及 jumpbox 虚拟机。 |
使用公共 DNS 区域创建专用 AKS 群集 |
此示例演示如何使用公共 DNS 区域部署专用 AKS 群集。 |
部署托管 Kubernetes 群集(AKS) |
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络。 此外,所选的服务主体将针对包含 AKS 群集的子网分配网络参与者角色。 |
使用 AAD 部署托管 Kubernetes 群集(AKS) |
此 ARM 模板演示如何将具有高级网络功能的 AKS 实例部署到现有虚拟网络和 Azure AD 整数。 此外,所选的服务主体将针对包含 AKS 群集的子网分配网络参与者角色。 |
为 Azure ML 部署 AKS 群集 |
使用此模板可以部署可附加到 Azure ML 的符合条目的 AKS 群集 |
Azure 容器服务 (AKS) |
使用 Azure 容器服务部署托管群集(AKS) |
Azure 容器服务 (AKS) |
使用 Azure Linux 容器主机部署具有 Azure 容器服务(AKS)的托管群集 |
使用 Helm |
使用 Helm 部署具有 Azure 容器服务(AKS)的托管群集 |
Azure Kubernetes 服务 (AKS) |
通过 Azure Kubernetes 服务部署托管 Kubernetes 群集 (AKS) |
使用应用程序网关入口控制器 |
此示例演示如何使用应用程序网关、应用程序网关入口控制器、Azure 容器注册表、Log Analytics 和 Key Vault 部署 AKS 群集 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 managedClusters 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerService/managedClusters 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters@2023-07-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
delegatedResources = {
{customized property} = {
location = "string"
referralResource = "string"
resourceId = "string"
tenantId = "string"
}
}
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
aadProfile = {
adminGroupObjectIDs = [
"string"
]
clientAppID = "string"
enableAzureRBAC = bool
managed = bool
serverAppID = "string"
serverAppSecret = "string"
tenantID = "string"
}
addonProfiles = {
{customized property} = {
config = {
{customized property} = "string"
}
enabled = bool
}
}
agentPoolProfiles = [
{
availabilityZones = [
"string"
]
count = int
creationData = {
sourceResourceId = "string"
}
enableAutoScaling = bool
enableEncryptionAtHost = bool
enableFIPS = bool
enableNodePublicIP = bool
enableUltraSSD = bool
gpuInstanceProfile = "string"
hostGroupID = "string"
kubeletConfig = {
allowedUnsafeSysctls = [
"string"
]
containerLogMaxFiles = int
containerLogMaxSizeMB = int
cpuCfsQuota = bool
cpuCfsQuotaPeriod = "string"
cpuManagerPolicy = "string"
failSwapOn = bool
imageGcHighThreshold = int
imageGcLowThreshold = int
podMaxPids = int
topologyManagerPolicy = "string"
}
kubeletDiskType = "string"
linuxOSConfig = {
swapFileSizeMB = int
sysctls = {
fsAioMaxNr = int
fsFileMax = int
fsInotifyMaxUserWatches = int
fsNrOpen = int
kernelThreadsMax = int
netCoreNetdevMaxBacklog = int
netCoreOptmemMax = int
netCoreRmemDefault = int
netCoreRmemMax = int
netCoreSomaxconn = int
netCoreWmemDefault = int
netCoreWmemMax = int
netIpv4IpLocalPortRange = "string"
netIpv4NeighDefaultGcThresh1 = int
netIpv4NeighDefaultGcThresh2 = int
netIpv4NeighDefaultGcThresh3 = int
netIpv4TcpFinTimeout = int
netIpv4TcpkeepaliveIntvl = int
netIpv4TcpKeepaliveProbes = int
netIpv4TcpKeepaliveTime = int
netIpv4TcpMaxSynBacklog = int
netIpv4TcpMaxTwBuckets = int
netIpv4TcpTwReuse = bool
netNetfilterNfConntrackBuckets = int
netNetfilterNfConntrackMax = int
vmMaxMapCount = int
vmSwappiness = int
vmVfsCachePressure = int
}
transparentHugePageDefrag = "string"
transparentHugePageEnabled = "string"
}
maxCount = int
maxPods = int
minCount = int
mode = "string"
name = "string"
nodeLabels = {
{customized property} = "string"
}
nodePublicIPPrefixID = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osSKU = "string"
osType = "string"
podSubnetID = "string"
powerState = {
code = "string"
}
proximityPlacementGroupID = "string"
scaleDownMode = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
spotMaxPrice = "decimal-as-string"
tags = {}
type = "string"
upgradeSettings = {
drainTimeoutInMinutes = int
maxSurge = "string"
}
vmSize = "string"
vnetSubnetID = "string"
workloadRuntime = "string"
}
]
apiServerAccessProfile = {
authorizedIPRanges = [
"string"
]
disableRunCommand = bool
enablePrivateCluster = bool
enablePrivateClusterPublicFQDN = bool
privateDNSZone = "string"
}
autoScalerProfile = {
balance-similar-node-groups = "string"
expander = "string"
max-empty-bulk-delete = "string"
max-graceful-termination-sec = "string"
max-node-provision-time = "string"
max-total-unready-percentage = "string"
new-pod-scale-up-delay = "string"
ok-total-unready-count = "string"
scale-down-delay-after-add = "string"
scale-down-delay-after-delete = "string"
scale-down-delay-after-failure = "string"
scale-down-unneeded-time = "string"
scale-down-unready-time = "string"
scale-down-utilization-threshold = "string"
scan-interval = "string"
skip-nodes-with-local-storage = "string"
skip-nodes-with-system-pods = "string"
}
autoUpgradeProfile = {
nodeOSUpgradeChannel = "string"
upgradeChannel = "string"
}
azureMonitorProfile = {
metrics = {
enabled = bool
kubeStateMetrics = {
metricAnnotationsAllowList = "string"
metricLabelsAllowlist = "string"
}
}
}
disableLocalAccounts = bool
diskEncryptionSetID = "string"
dnsPrefix = "string"
enablePodSecurityPolicy = bool
enableRBAC = bool
fqdnSubdomain = "string"
httpProxyConfig = {
httpProxy = "string"
httpsProxy = "string"
noProxy = [
"string"
]
trustedCa = "string"
}
identityProfile = {
{customized property} = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
}
kubernetesVersion = "string"
linuxProfile = {
adminUsername = "string"
ssh = {
publicKeys = [
{
keyData = "string"
}
]
}
}
networkProfile = {
dnsServiceIP = "string"
ipFamilies = [
"string"
]
loadBalancerProfile = {
allocatedOutboundPorts = int
effectiveOutboundIPs = [
{
id = "string"
}
]
enableMultipleStandardLoadBalancers = bool
idleTimeoutInMinutes = int
managedOutboundIPs = {
count = int
countIPv6 = int
}
outboundIPPrefixes = {
publicIPPrefixes = [
{
id = "string"
}
]
}
outboundIPs = {
publicIPs = [
{
id = "string"
}
]
}
}
loadBalancerSku = "string"
natGatewayProfile = {
effectiveOutboundIPs = [
{
id = "string"
}
]
idleTimeoutInMinutes = int
managedOutboundIPProfile = {
count = int
}
}
networkDataplane = "string"
networkMode = "string"
networkPlugin = "string"
networkPluginMode = "overlay"
networkPolicy = "string"
outboundType = "string"
podCidr = "string"
podCidrs = [
"string"
]
serviceCidr = "string"
serviceCidrs = [
"string"
]
}
nodeResourceGroup = "string"
oidcIssuerProfile = {
enabled = bool
}
podIdentityProfile = {
allowNetworkPluginKubenet = bool
enabled = bool
userAssignedIdentities = [
{
bindingSelector = "string"
identity = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
name = "string"
namespace = "string"
}
]
userAssignedIdentityExceptions = [
{
name = "string"
namespace = "string"
podLabels = {
{customized property} = "string"
}
}
]
}
privateLinkResources = [
{
groupId = "string"
id = "string"
name = "string"
requiredMembers = [
"string"
]
type = "string"
}
]
publicNetworkAccess = "string"
securityProfile = {
azureKeyVaultKms = {
enabled = bool
keyId = "string"
keyVaultNetworkAccess = "string"
keyVaultResourceId = "string"
}
defender = {
logAnalyticsWorkspaceResourceId = "string"
securityMonitoring = {
enabled = bool
}
}
imageCleaner = {
enabled = bool
intervalHours = int
}
workloadIdentity = {
enabled = bool
}
}
servicePrincipalProfile = {
clientId = "string"
secret = "string"
}
storageProfile = {
blobCSIDriver = {
enabled = bool
}
diskCSIDriver = {
enabled = bool
}
fileCSIDriver = {
enabled = bool
}
snapshotController = {
enabled = bool
}
}
supportPlan = "string"
upgradeSettings = {
overrideSettings = {
forceUpgrade = bool
until = "string"
}
}
windowsProfile = {
adminPassword = "string"
adminUsername = "string"
enableCSIProxy = bool
gmsaProfile = {
dnsServer = "string"
enabled = bool
rootDomainName = "string"
}
licenseType = "string"
}
workloadAutoScalerProfile = {
keda = {
enabled = bool
}
verticalPodAutoscaler = {
enabled = bool
}
}
}
sku = {
name = "Base"
tier = "string"
}
extendedLocation = {
name = "string"
type = "EdgeZone"
}
})
}
属性值
managedClusters
名字 | 描述 | 价值 |
---|---|---|
类型 | 资源类型 | “Microsoft.ContainerService/managedClusters@2023-07-01” |
名字 | 资源名称 | string (必需) 字符限制:1-63 有效字符: 字母数字、下划线和连字符。 以字母数字开头和结尾。 |
位置 | 资源所在的地理位置 | string (必需) |
parent_id | 若要部署到资源组,请使用该资源组的 ID。 | string (必需) |
标签 | 资源标记。 | 标记名称和值的字典。 |
sku | 托管群集 SKU。 | ManagedClusterSKU |
extendedLocation | 虚拟机的扩展位置。 | ExtendedLocation |
身份 | 托管群集的标识(如果已配置)。 | ManagedClusterIdentity |
性能 | 托管群集的属性。 | ManagedClusterProperties |
ExtendedLocation
名字 | 描述 | 价值 |
---|---|---|
名字 | 扩展位置的名称。 | 字符串 |
类型 | 扩展位置的类型。 | “EdgeZone” |
ManagedClusterIdentity
名字 | 描述 | 价值 |
---|---|---|
delegatedResources | 分配给此托管群集的委托标识资源。 这只能由另一个 Azure 资源提供程序设置,托管群集仅接受一个委派的标识资源。 仅供内部使用。 | DelegatedResources |
类型 | 有关详细信息,请参阅 在 AKS中使用托管标识。 | “SystemAssigned” “UserAssigned” |
identity_ids | 密钥必须是 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 | 用户标识 ID 的数组。 |
DelegatedResources
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | DelegatedResource |
DelegatedResource
名字 | 描述 | 价值 |
---|---|---|
位置 | 源资源位置 - 仅供内部使用。 | 字符串 |
referralResource | 引荐委派(可选)的委托 ID - 仅供内部使用。 | 字符串 |
resourceId | 委派资源的 ARM 资源 ID - 仅供内部使用。 | 字符串 |
tenantId | 委托资源的租户 ID - 仅供内部使用。 | 字符串 约束: 最小长度 = 36 最大长度 = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ |
ManagedClusterIdentityUserAssignedIdentities
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedServiceIdentityUserAssignedIdentitiesValue |
ManagedServiceIdentityUserAssignedIdentitiesValue
此对象不包含在部署期间设置的任何属性。 所有属性都是 ReadOnly。
ManagedClusterProperties
名字 | 描述 | 价值 |
---|---|---|
aadProfile | Azure Active Directory 配置。 | ManagedClusterAADProfile |
addonProfiles | 托管群集加载项的配置文件。 | ManagedClusterPropertiesAddonProfiles |
agentPoolProfiles | 代理池属性。 | ManagedClusterAgentPoolProfile[] |
apiServerAccessProfile | 托管群集 API 服务器的访问配置文件。 | ManagedClusterAPIServerAccessProfile |
autoScalerProfile | 启用时要应用于群集自动缩放程序的参数 | ManagedClusterPropertiesAutoScalerProfile |
autoUpgradeProfile | 自动升级配置。 | ManagedClusterAutoUpgradeProfile |
azureMonitorProfile | 用于监视托管群集的 Azure Monitor 加载项配置文件。 | ManagedClusterAzureMonitorProfile |
disableLocalAccounts | 如果设置为 true,将禁用此群集的静态凭据。 这只能在启用了 AAD 的托管群集上使用。 有关详细信息,请参阅 禁用本地帐户。 | bool |
diskEncryptionSetID | 此格式为:“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}” | 字符串 |
dnsPrefix | 创建托管群集后,无法更新此功能。 | 字符串 |
enablePodSecurityPolicy | (已弃用)是否启用 Kubernetes Pod 安全策略(预览版)。 Kubernetes v1.21 中弃用 PodSecurityPolicy,并在 v1.25 中从 Kubernetes 中删除。 在 https://aka.ms/k8s/psp 和 https://aka.ms/aks/psp. 了解详细信息 |
bool |
enableRBAC | 是否启用 Kubernetes Role-Based 访问控制。 | bool |
fqdnSubdomain | 创建托管群集后,无法更新此功能。 | 字符串 |
httpProxyConfig | 使用 HTTP 代理服务器预配群集的配置。 | ManagedClusterHttpProxyConfig |
identityProfile | 与群集关联的标识。 | ManagedClusterPropertiesIdentityProfile |
kubernetesVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 升级支持的 AKS 群集时,无法跳过 Kubernetes 次要版本。 所有升级都必须按主版本号按顺序执行。 例如,允许在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之间升级,但不允许使用 1.14.x -} 1.16.x。 有关更多详细信息,请参阅 升级 AKS 群集。 | 字符串 |
linuxProfile | 托管群集中 Linux VM 的配置文件。 | ContainerServiceLinuxProfile |
networkProfile | 网络配置文件。 | ContainerServiceNetworkProfile |
nodeResourceGroup | 包含代理池节点的资源组的名称。 | 字符串 |
oidcIssuerProfile | 托管群集的 OIDC 颁发者配置文件。 | ManagedClusterOidcIssuerProfile |
podIdentityProfile | 有关 AAD Pod 标识集成的详细信息,请参阅 使用 AAD Pod 标识。 | ManagedClusterPodIdentityProfile |
privateLinkResources | 与群集关联的专用链接资源。 | PrivateLinkResource[] |
publicNetworkAccess | 允许或拒绝 AKS 的公共网络访问 | “Disabled” “已启用” |
securityProfile | 托管群集的安全配置文件。 | ManagedClusterSecurityProfile |
servicePrincipalProfile | 有关群集用于操作 Azure API 的服务主体标识的信息。 | ManagedClusterServicePrincipalProfile |
storageProfile | 托管群集的存储配置文件。 | ManagedClusterStorageProfile |
supportPlan | 托管群集的支持计划。 如果未指定,则默认值为“KubernetesOfficial”。 | “AKSLongTermSupport” “KubernetesOfficial” |
upgradeSettings | 用于升级群集的设置。 | ClusterUpgradeSettings |
windowsProfile | 托管群集中 Windows VM 的配置文件。 | ManagedClusterWindowsProfile |
workloadAutoScalerProfile | 托管群集的工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfile |
ManagedClusterAADProfile
名字 | 描述 | 价值 |
---|---|---|
adminGroupObjectIDs | 将具有群集管理员角色的 AAD 组对象 ID 的列表。 | string[] |
clientAppID | (已弃用)客户端 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
enableAzureRBAC | 是否为 Kubernetes 授权启用 Azure RBAC。 | bool |
管理 | 是否启用托管 AAD。 | bool |
serverAppID | (已弃用)服务器 AAD 应用程序 ID。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
serverAppSecret | (已弃用)服务器 AAD 应用程序机密。 在 https://aka.ms/aks/aad-legacy. 了解详细信息 |
字符串 |
tenantID | 用于身份验证的 AAD 租户 ID。 如果未指定,将使用部署订阅的租户。 | 字符串 |
ManagedClusterPropertiesAddonProfiles
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | ManagedClusterAddonProfile |
ManagedClusterAddonProfile
名字 | 描述 | 价值 |
---|---|---|
配置 | 用于配置加载项的键值对。 | ManagedClusterAddonProfileConfig |
启用 | 是否启用加载项。 | bool (必需) |
ManagedClusterAddonProfileConfig
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
ManagedClusterAgentPoolProfile
名字 | 描述 | 价值 |
---|---|---|
availabilityZones | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | string[] |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | int |
creationData | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData |
enableAutoScaling | 是否启用自动缩放程序 | bool |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | bool |
enableFIPS | 有关详细信息,请参阅 添加启用了 FIPS 的节点池。 | bool |
enableNodePublicIP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 一种常见方案适用于游戏工作负载,其中主机需要与云虚拟机建立直接连接,以最大程度地减少跃点。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | bool |
enableUltraSSD | 是否启用 UltraSSD | bool |
gpuInstanceProfile | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
hostGroupID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubeletConfig | 代理池节点上的 Kubelet 配置。 | KubeletConfig |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
maxCount | 自动缩放的最大节点数 | int |
maxPods | 可在节点上运行的 Pod 的最大数目。 | int |
minCount | 自动缩放的最小节点数 | int |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “系统” “User” |
名字 | Windows 代理池名称必须为 6 个字符或更少。 | string (必需) 约束: Pattern = ^[a-z][a-z0-9]{0,11}$ |
nodeLabels | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
nodeTaints | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | string[] |
orchestratorVersion | 支持两个修补程序版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20)。 指定 {major.minor} 后,会自动选择最新的受支持的 GA 修补程序版本。 创建群集后使用相同的 {major.minor} 更新群集(例如 1.14.x -} 1.14),即使有较新的修补程序版本可用,也不会触发升级。 最佳做法是,应将 AKS 群集中的所有节点池升级到同一 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “托管” |
osSKU | 指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022 时,Kubernetes >= 1.25(如果 OSType 为 Windows)时,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
osType | 操作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “解除分配” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “解除分配” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “现成” |
spotMaxPrice | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 指定十进制值作为字符串。 | int 或 json decimal |
标签 | 要保留在代理池虚拟机规模集上的标记。 | 对象 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
vmSize | VM 大小可用性因区域而异。 如果节点包含的计算资源(内存、cpu 等)Pod 不足,可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:/azure/aks/quotas-skus-regions | 字符串 |
vnetSubnetID | 如果未指定,将生成和使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则它仅适用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
workloadRuntime | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
CreationData
名字 | 描述 | 价值 |
---|---|---|
sourceResourceId | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
KubeletConfig
名字 | 描述 | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以 * 结尾)。 |
string[] |
containerLogMaxFiles | 容器日志文件的最大数目。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
containerLogMaxSizeMB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | int |
cpuCfsQuota | 默认值为 true。 | bool |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | bool |
imageGcHighThreshold | 若要禁用映像垃圾回收,请设置为 100。 默认值为 85% | int |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | int |
podMaxPids | 每个 Pod 的最大进程数。 | int |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | 描述 | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | int |
sysctls | Linux 代理节点的 Sysctl 设置。 | SysctlConfig |
transparentHugePageDefrag | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePageEnabled | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
SysctlConfig
名字 | 描述 | 价值 |
---|---|---|
fsAioMaxNr | Sysctl setting fs.aio-max-nr. | int |
fsFileMax | Sysctl setting fs.file-max. | int |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | int |
fsNrOpen | Sysctl 设置fs.nr_open。 | int |
kernelThreadsMax | Sysctl 设置 kernel.threads-max。 | int |
netCoreNetdevMaxBacklog | Sysctl 设置net.core.netdev_max_backlog。 | int |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | int |
netCoreRmemDefault | Sysctl 设置net.core.rmem_default。 | int |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | int |
netCoreSomaxconn | Sysctl setting net.core.somaxconn. | int |
netCoreWmemDefault | Sysctl 设置net.core.wmem_default。 | int |
netCoreWmemMax | Sysctl 设置net.core.wmem_max。 | int |
netIpv4IpLocalPortRange | Sysctl 设置net.ipv4.ip_local_port_range。 | 字符串 |
netIpv4NeighDefaultGcThresh1 | Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 | int |
netIpv4NeighDefaultGcThresh2 | Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 | int |
netIpv4NeighDefaultGcThresh3 | Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 | int |
netIpv4TcpFinTimeout | Sysctl 设置net.ipv4.tcp_fin_timeout。 | int |
netIpv4TcpkeepaliveIntvl | Sysctl 设置net.ipv4.tcp_keepalive_intvl。 | int 约束: 最小值 = 10 最大值 = 90 |
netIpv4TcpKeepaliveProbes | Sysctl 设置net.ipv4.tcp_keepalive_probes。 | int |
netIpv4TcpKeepaliveTime | Sysctl 设置net.ipv4.tcp_keepalive_time。 | int |
netIpv4TcpMaxSynBacklog | Sysctl 设置net.ipv4.tcp_max_syn_backlog。 | int |
netIpv4TcpMaxTwBuckets | Sysctl 设置net.ipv4.tcp_max_tw_buckets。 | int |
netIpv4TcpTwReuse | Sysctl 设置net.ipv4.tcp_tw_reuse。 | bool |
netNetfilterNfConntrackBuckets | Sysctl 设置net.netfilter.nf_conntrack_buckets。 | int 约束: 最小值 = 65536 最大值 = 524288 |
netNetfilterNfConntrackMax | Sysctl 设置net.netfilter.nf_conntrack_max。 | int 约束: 最小值 = 131072 最大值 = 2097152 |
vmMaxMapCount | Sysctl 设置 vm.max_map_count。 | int |
vmSwappiness | Sysctl 设置 vm.swappiness。 | int |
vmVfsCachePressure | Sysctl 设置vm.vfs_cache_pressure。 | int |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PowerState
名字 | 描述 | 价值 |
---|---|---|
法典 | 指示群集是正在运行还是已停止 | “正在运行” “已停止” |
AgentPoolUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
maxSurge | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 1。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
ManagedClusterAPIServerAccessProfile
名字 | 描述 | 价值 |
---|---|---|
authorizedIPRanges | IP 范围以 CIDR 格式指定,例如 137.117.106.88/29。 此功能与使用公共 IP Per Node 的群集或使用基本负载均衡器的群集不兼容。 有关详细信息,请参阅 API 服务器授权 IP 范围。 | string[] |
disableRunCommand | 是否禁用群集的 run 命令。 | bool |
enablePrivateCluster | 有关详细信息,请参阅 创建专用 AKS 群集。 | bool |
enablePrivateClusterPublicFQDN | 是否为专用群集创建其他公共 FQDN。 | bool |
privateDNSZone | 默认值为 System。 有关详细信息,请参阅 配置专用 DNS 区域。 允许的值为“system”和“none”。 | 字符串 |
ManagedClusterPropertiesAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
balance-similar-node-groups | 有效值为“true”和“false” | 字符串 |
膨胀 | 如果未指定,则默认值为“random”。 有关详细信息,请参阅 扩展器。 | “最小浪费” “most-pods” “priority” “random” |
max-empty-bulk-delete | 默认值为 10。 | 字符串 |
max-graceful-termination-sec | 默认值为 600。 | 字符串 |
max-node-provision-time | 默认值为“15m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
max-total-unready-percentage | 默认值为 45。 最大值为 100,最小值为 0。 | 字符串 |
new-pod-scale-up-delay | 对于在 kubernetes 计划程序可以计划所有 Pod 之前不希望 CA 执行操作的突发/批处理缩放方案,可以告诉 CA 在某个年龄之前忽略未计划的 Pod。 默认值为“0s”。 值必须是一个整数,后跟一个单位(以秒为单位,“m”表示分钟,“h”表示小时等)。 | 字符串 |
ok-total-unready-count | 这必须是整数。 默认值为 3。 | 字符串 |
scale-down-delay-after-add | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-delete | 默认值为扫描间隔。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-delay-after-failure | 默认值为“3m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unneed-time | 默认值为“10m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-unready-time | 默认值为“20m”。 值必须是后跟“m”的整数。 不支持除分钟(m)以外的时间单位。 | 字符串 |
scale-down-utilization-threshold | 默认值为“0.5”。 | 字符串 |
scan-interval | 默认值为“10”。 值必须是整数秒数。 | 字符串 |
skip-nodes-with-local-storage | 默认值为 true。 | 字符串 |
skip-nodes-with-system-pods | 默认值为 true。 | 字符串 |
ManagedClusterAutoUpgradeProfile
名字 | 描述 | 价值 |
---|---|---|
nodeOSUpgradeChannel | 更新节点上 OS 的方式。 默认值为 NodeImage。 | “NodeImage” “None” “非托管” |
upgradeChannel | 有关详细信息,请参阅 设置 AKS 群集自动升级通道。 | “node-image” “none” “patch” “rapid” “稳定” |
ManagedClusterAzureMonitorProfile
名字 | 描述 | 价值 |
---|---|---|
指标 | 适用于 Prometheus 加载项的 Azure Monitor 托管服务的指标配置文件。 收集现装的 Kubernetes 基础结构指标,以发送到 Azure Monitor 工作区,并为自定义目标配置额外的擦除。 有关概述,请参阅 aka.ms/AzureManagedPrometheus。 | ManagedClusterAzureMonitorProfileMetrics |
ManagedClusterAzureMonitorProfileMetrics
名字 | 描述 | 价值 |
---|---|---|
启用 | 是启用或禁用用于 Prometheus 监视的 Azure 托管 Prometheus 加载项。 有关启用和禁用的详细信息,请参阅 aka.ms/AzureManagedPrometheus-aks-enable。 | bool (必需) |
kubeStateMetrics | Azure 托管 Prometheus 加载项的 Kube 状态指标配置文件。 这些可选设置适用于使用加载项部署的 kube-state-metrics Pod。 有关详细信息,请参阅 aka.ms/AzureManagedPrometheus-optional-parameters。 | ManagedClusterAzureMonitorProfileKubeStateMetrics |
ManagedClusterAzureMonitorProfileKubeStateMetrics
名字 | 描述 | 价值 |
---|---|---|
metricAnnotationsAllowList | 将在资源的标签指标中使用的 Kubernetes 批注键的逗号分隔列表(示例:'namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
metricLabelsAllowlist | 将在资源的标签指标中使用的其他 Kubernetes 标签键的逗号分隔列表(示例:'namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...')。 默认情况下,指标仅包含资源名称和命名空间标签。 | 字符串 |
ManagedClusterHttpProxyConfig
名字 | 描述 | 价值 |
---|---|---|
httpProxy | 要使用的 HTTP 代理服务器终结点。 | 字符串 |
httpsProxy | 要使用的 HTTPS 代理服务器终结点。 | 字符串 |
noProxy | 不应通过代理的终结点。 | string[] |
trustedCa | 用于连接到代理服务器的替代 CA 证书。 | 字符串 |
ManagedClusterPropertiesIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | UserAssignedIdentity |
UserAssignedIdentity
名字 | 描述 | 价值 |
---|---|---|
clientId | 用户分配标识的客户端 ID。 | 字符串 |
objectId | 用户分配标识的对象 ID。 | 字符串 |
resourceId | 用户分配标识的资源 ID。 | 字符串 |
ContainerServiceLinuxProfile
名字 | 描述 | 价值 |
---|---|---|
adminUsername | 用于 Linux VM 的管理员用户名。 | string (必需) 约束: Pattern = ^[A-Za-z][-A-Za-z0-9_]*$ |
ssh | 在 Azure 上运行的基于 Linux 的 VM 的 SSH 配置。 | ContainerServiceSshConfiguration (必需) |
ContainerServiceSshConfiguration
名字 | 描述 | 价值 |
---|---|---|
publicKeys | 用于通过基于 Linux 的 VM 进行身份验证的 SSH 公钥列表。 最多可以指定 1 个键。 | ContainerServiceSshPublicKey[] (必需) |
ContainerServiceSshPublicKey
名字 | 描述 | 价值 |
---|---|---|
keyData | 用于通过 SSH 向 VM 进行身份验证的证书公钥。 证书必须采用 PEM 格式(带或不带标头)。 | string (必需) |
ContainerServiceNetworkProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServiceIP | 分配给 Kubernetes DNS 服务的 IP 地址。 它必须位于 serviceCidr 中指定的 Kubernetes 服务地址范围内。 | 字符串 约束: Pattern = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
ipFamilies | IP 系列用于确定单堆栈或双堆栈群集。 对于单堆栈,预期值为 IPv4。 对于双堆栈,预期值为 IPv4 和 IPv6。 | 包含任一项的字符串数组: “IPv4” “IPv6” |
loadBalancerProfile | 群集负载均衡器的配置文件。 | ManagedClusterLoadBalancerProfile |
loadBalancerSku | 默认值为“standard”。 有关负载均衡器 SKU 之间的差异的详细信息,请参阅 Azure 负载均衡器 SKU。 | “basic” “standard” |
natGatewayProfile | 群集 NAT 网关的配置文件。 | ManagedClusterNATGatewayProfile |
networkDataplane | Kubernetes 群集中使用的网络数据平面。 | “azure” “cilium” |
networkMode | 如果 networkPlugin 不是“azure”,则无法指定此项。 | “bridge” “transparent” |
networkPlugin | 用于生成 Kubernetes 网络的网络插件。 | “azure” “kubenet” “none” |
networkPluginMode | 网络插件应使用的模式。 | “overlay” |
networkPolicy | 用于生成 Kubernetes 网络的网络策略。 | “azure” “calico” “cilium” |
outboundType | 这只能在群集创建时设置,以后无法更改。 有关详细信息,请参阅 出口出站类型。 | “loadBalancer” “managedNATGateway” “userAssignedNATGateway” “userDefinedRouting” |
podCidr | 使用 kubenet 时分配 Pod IP 的 CIDR 表示法 IP 范围。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
podCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 | string[] |
serviceCidr | 从中分配服务群集 IP 的 CIDR 表示法 IP 范围。 它不得与任何子网 IP 范围重叠。 | 字符串 约束: Pattern = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
serviceCidrs | 单堆栈网络需要一个 IPv4 CIDR。 对于双堆栈网络,每个 IP 系列(IPv4/IPv6)都有两个CIDR。 它们不得与任何子网 IP 范围重叠。 | string[] |
ManagedClusterLoadBalancerProfile
名字 | 描述 | 价值 |
---|---|---|
allocatedOutboundPorts | 每个 VM 分配的 SNAT 端口的所需数量。 允许的值为 0 到 64000(含)。 默认值为 0,这会导致 Azure 动态分配端口。 | int 约束: 最小值 = 0 最大值 = 64000 |
effectiveOutboundIPs | 群集负载均衡器的有效出站 IP 资源。 | ResourceReference[] |
enableMultipleStandardLoadBalancers | 为每个 AKS 群集启用多个标准负载均衡器。 | bool |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 30 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPs | 群集负载均衡器的所需托管出站 IP。 | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
outboundIPPrefixes | 群集负载均衡器的所需出站 IP 前缀资源。 | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
outboundIP | 群集负载均衡器的所需出站 IP 资源。 | ManagedClusterLoadBalancerProfileOutboundIPs |
ResourceReference
名字 | 描述 | 价值 |
---|---|---|
id | 完全限定的 Azure 资源 ID。 | 字符串 |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 为群集负载均衡器创建/管理的所需 IPv4 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 100 |
countIPv6 | Azure 为群集负载均衡器创建/管理的所需 IPv6 出站 IP 数。 允许的值必须介于 1 到 100 之间(含)。 对于单堆栈,默认值为 0,双堆栈的默认值为 1。 | int 约束: 最小值 = 0 最大值 = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
名字 | 描述 | 价值 |
---|---|---|
publicIPPrefixes | 公共 IP 前缀资源的列表。 | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
名字 | 描述 | 价值 |
---|---|---|
publicIP | 公共 IP 资源的列表。 | ResourceReference[] |
ManagedClusterNATGatewayProfile
名字 | 描述 | 价值 |
---|---|---|
effectiveOutboundIPs | 群集 NAT 网关的有效出站 IP 资源。 | ResourceReference[] |
idleTimeoutInMinutes | 所需的出站流空闲超时(以分钟为单位)。 允许的值为 4 到 120(含)。 默认值为 4 分钟。 | int 约束: 最小值 = 4 最大值 = 120 |
managedOutboundIPProfile | 群集 NAT 网关的托管出站 IP 资源的配置文件。 | ManagedClusterManagedOutboundIPProfile |
ManagedClusterManagedOutboundIPProfile
名字 | 描述 | 价值 |
---|---|---|
计数 | Azure 创建/管理的所需出站 IP 数。 允许的值必须介于 1 到 16 之间(含)。 默认值为 1。 | int 约束: 最小值 = 1 最大值 = 16 |
ManagedClusterOidcIssuerProfile
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 OIDC 颁发者。 | bool |
ManagedClusterPodIdentityProfile
名字 | 描述 | 价值 |
---|---|---|
allowNetworkPluginKubenet | 默认情况下,由于 AAD Pod 标识的安全相关特性以及 IP 欺骗的风险,在 Kubenet 中运行会禁用。 有关详细信息,请参阅 将 Kubenet 网络插件与 AAD Pod 标识 配合使用。 | bool |
启用 | 是否启用 Pod 标识加载项。 | bool |
userAssignedIdentities | 群集中使用的 Pod 标识。 | ManagedClusterPodIdentity[] |
userAssignedIdentityExceptions | 允许的 Pod 标识异常。 | ManagedClusterPodIdentityException[] |
ManagedClusterPodIdentity
名字 | 描述 | 价值 |
---|---|---|
bindingSelector | 要用于 AzureIdentityBinding 资源的绑定选择器。 | 字符串 |
身份 | 用户分配的标识详细信息。 | UserAssignedIdentity (必需) |
名字 | Pod 标识的名称。 | string (必需) |
namespace | Pod 标识的命名空间。 | string (必需) |
ManagedClusterPodIdentityException
名字 | 描述 | 价值 |
---|---|---|
名字 | Pod 标识异常的名称。 | string (必需) |
namespace | Pod 标识异常的命名空间。 | string (必需) |
podLabels | 要匹配的 Pod 标签。 | ManagedClusterPodIdentityExceptionPodLabels (必需) |
ManagedClusterPodIdentityExceptionPodLabels
名字 | 描述 | 价值 |
---|---|---|
{自定义属性} | 字符串 |
PrivateLinkResource
名字 | 描述 | 价值 |
---|---|---|
groupId | 资源的组 ID。 | 字符串 |
id | 专用链接资源的 ID。 | 字符串 |
名字 | 专用链接资源的名称。 | 字符串 |
requiredMembers | 资源的 RequiredMembers | string[] |
类型 | 资源类型。 | 字符串 |
ManagedClusterSecurityProfile
名字 | 描述 | 价值 |
---|---|---|
azureKeyVaultKms | Azure Key Vault 安全配置文件的密钥管理服务 设置。 | AzureKeyVaultKms |
辩护人 | Microsoft安全配置文件的 Defender 设置。 | ManagedClusterSecurityProfileDefender |
imageCleaner | 安全配置文件的图像清理器设置。 | ManagedClusterSecurityProfileImageCleaner |
workloadIdentity | 安全配置文件的工作负荷标识设置。 使用工作负荷标识,Kubernetes 应用程序可以使用 Azure AD 安全地访问 Azure 云资源。 有关详细信息,请参阅 https://aka.ms/aks/wi 。 |
ManagedClusterSecurityProfileWorkloadIdentity |
AzureKeyVaultKms
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Azure Key Vault 密钥管理服务。 默认值为 false。 | bool |
keyId | Azure Key Vault 密钥的标识符。 有关详细信息,请参阅 密钥标识符格式。 启用 Azure Key Vault 密钥管理服务时,此字段是必需的,并且必须是有效的密钥标识符。 禁用 Azure Key Vault 密钥管理服务时,将字段留空。 | 字符串 |
keyVaultNetworkAccess | 密钥保管库的网络访问。 可能的值为 Public 和 Private 。
Public 意味着 Key Vault 允许从所有网络进行公共访问。
Private 意味着密钥保管库禁用公共访问并启用专用链接。 默认值为 Public 。 |
“Private” “Public” |
keyVaultResourceId | 密钥保管库的资源 ID。 当 keyVaultNetworkAccess Private 时,此字段是必需的,并且必须是有效的资源 ID。 当 keyVaultNetworkAccess Public 时,请将字段留空。 |
字符串 |
ManagedClusterSecurityProfileDefender
名字 | 描述 | 价值 |
---|---|---|
logAnalyticsWorkspaceResourceId | 要与 Microsoft Defender 关联的 Log Analytics 工作区的资源 ID。 启用Microsoft Defender 后,此字段是必需的,并且必须是有效的工作区资源 ID。 禁用Microsoft Defender 时,请将字段留空。 | 字符串 |
securityMonitoring | Microsoft安全配置文件的云设置的 Defender 威胁检测。 | ManagedClusterSecurityProfileDefenderSecurityMonitor... |
ManagedClusterSecurityProfileDefenderSecurityMonitor...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 Defender 威胁检测 | bool |
ManagedClusterSecurityProfileImageCleaner
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否在 AKS 群集上启用映像清理器。 | bool |
intervalHours | 图像清理器扫描间隔(以小时为单位)。 | int |
ManagedClusterSecurityProfileWorkloadIdentity
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用工作负荷标识。 | bool |
ManagedClusterServicePrincipalProfile
名字 | 描述 | 价值 |
---|---|---|
clientId | 服务主体的 ID。 | string (必需) |
秘密 | 以纯文本形式与服务主体关联的机密密码。 | 字符串 |
ManagedClusterStorageProfile
名字 | 描述 | 价值 |
---|---|---|
blobCSIDriver | 存储配置文件的 AzureBlob CSI 驱动程序设置。 | ManagedClusterStorageProfileBlobCSIDriver |
diskCSIDriver | 存储配置文件的 AzureDisk CSI 驱动程序设置。 | ManagedClusterStorageProfileDiskCSIDriver |
fileCSIDriver | 存储配置文件的 AzureFile CSI 驱动程序设置。 | ManagedClusterStorageProfileFileCSIDriver |
snapshotController | 存储配置文件的快照控制器设置。 | ManagedClusterStorageProfileSnapshotController |
ManagedClusterStorageProfileBlobCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureBlob CSI 驱动程序。 默认值为 false。 | bool |
ManagedClusterStorageProfileDiskCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureDisk CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileFileCSIDriver
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 AzureFile CSI 驱动程序。 默认值为 true。 | bool |
ManagedClusterStorageProfileSnapshotController
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用快照控制器。 默认值为 true。 | bool |
ClusterUpgradeSettings
名字 | 描述 | 价值 |
---|---|---|
overrideSettings | 替代的设置。 | UpgradeOverrideSettings |
UpgradeOverrideSettings
名字 | 描述 | 价值 |
---|---|---|
forceUpgrade | 是否强制升级群集。 请注意,此选项指示升级操作绕过升级保护,例如检查已弃用的 API 使用情况。 仅谨慎启用此选项。 | bool |
直到 | 直到重写生效为止。 请注意,这仅与升级的开始时间匹配,即使升级继续时 until 过期,升级的有效性也不会更改。 默认情况下不设置此字段。 必须设置重写才能生效。 |
字符串 |
ManagedClusterWindowsProfile
名字 | 描述 | 价值 |
---|---|---|
adminPassword | 指定管理员帐户的密码。 最小长度: 8 个字符 最大长度: 123 个字符 复杂性要求:需要满足以下 4 个条件中的 3 个 字符数较低 具有大写字符 包含数字 具有特殊字符(正则表达式匹配 [\W_]) 不允许的值:“abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iloveyou!” |
字符串 |
adminUsername | 指定管理员帐户的名称。 限制: 不能以“.” 结尾。 不允许的值:“administrator”、“admin”、“user”、“user1”、“test”、“user2”、“test1”、“user3”、“admin1”、“1”, “123”、“a”、“actuser”、“adm”、“admin2”、“aspnet”、“backup”、“console”、“david”、“guest”、“john”、“owner”、“root”、“server”、“sql”、“support”、“support_388945a0”、“sys”、“test2”、“test3”、“user4”、“user5”。 最小长度: 1 个字符 最大长度: 20 个字符 |
string (必需) |
enableCSIProxy | 有关 CSI 代理的更多详细信息,请参阅 CSI 代理 GitHub 存储库。 | bool |
gmsaProfile | 托管群集中的 Windows gMSA 配置文件。 | WindowsGmsaProfile |
licenseType | 用于 Windows VM 的许可证类型。 有关更多详细信息,请参阅 Azure 混合用户权益。 | “None” “Windows_Server” |
WindowsGmsaProfile
名字 | 描述 | 价值 |
---|---|---|
dnsServer | 指定 Windows gMSA 的 DNS 服务器。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
启用 | 指定是否在托管群集中启用 Windows gMSA。 | bool |
rootDomainName | 指定 Windows gMSA 的根域名。 如果在用于创建托管群集的 vnet 中配置了 DNS 服务器,则将其设置为空。 |
字符串 |
ManagedClusterWorkloadAutoScalerProfile
名字 | 描述 | 价值 |
---|---|---|
keda | KEDA(Kubernetes 事件驱动的自动缩放)设置,用于工作负荷自动缩放程序配置文件。 | ManagedClusterWorkloadAutoScalerProfileKeda |
verticalPodAutoscaler | 工作负荷自动缩放程序配置文件的 VPA(垂直 Pod 自动缩放程序)设置。 | ManagedClusterWorkloadAutoScalerProfileVerticalPodAu... |
ManagedClusterWorkloadAutoScalerProfileKeda
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 KEDA。 | bool (必需) |
ManagedClusterWorkloadAutoScalerProfileVerticalPodAu...
名字 | 描述 | 价值 |
---|---|---|
启用 | 是否启用 VPA。 默认值为 false。 | bool (必需) |
ManagedClusterSKU
名字 | 描述 | 价值 |
---|---|---|
名字 | 托管群集 SKU 的名称。 | “Base” |
层 | 如果未指定,则默认值为“Free”。 有关详细信息,请参阅 AKS 定价层。 | “免费” “Premium” “Standard” |