你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
- 最新
- 2025-05-01
- 2025-04-02-预览版
- 2025-04-01
- 2025-03-02-预览版
- 2025-03-01
- 2025-02-02-预览版
- 2025-02-01
- 2025-01-02-预览版
- 2025-01-01
- 2024-10-02-预览版
- 2024-10-01
- 2024-09-02-预览版
- 2024-09-01
- 2024-08-01
- 2024-07-02-预览版
- 2024-07-01
- 2024-06-02-预览版
- 2024-05-02-预览版
- 2024-05-01
- 2024-04-02-预览版
- 2024-03-02-预览版
- 2024-02-02-预览版
- 2024-02-01
- 2024-01-02-预览版
- 2024-01-01
- 2023-11-02-预览版
- 2023-11-01
- 2023-10-02-预览版
- 2023-10-01
- 2023-09-02-预览版
- 2023-09-01
- 2023-08-02-预览版
- 2023-08-01
- 2023-07-02-预览版
- 2023-07-01
- 2023-06-02-预览版
- 2023-06-01
- 2023-05-02-预览版
- 2023-05-01
- 2023-04-02-预览版
- 2023-04-01
- 2023-03-02-预览版
- 2023-03-01
- 2023-02-02-预览版
- 2023-02-01
- 2023-01-02-预览版
- 2023-01-01
- 2022-11-02-预览版
- 2022-11-01
- 2022-10-02-预览版
- 2022-09-02-预览版
- 2022-09-01
- 2022-08-03-预览版
- 2022-08-02-预览版
- 2022-07-02-预览版
- 2022-07-01
- 2022-06-02-预览版
- 2022-06-01
- 2022-05-02-预览版
- 2022-04-02-预览版
- 2022-04-01
- 2022-03-02-预览版
- 2022-03-01
- 2022-02-02-预览版
- 2022-02-01
- 2022-01-02-预览版
- 2022-01-01
- 2021-11-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
- 2020-07-01
- 2020-06-01
- 2020-04-01
- 2020-03-01
- 2020-02-01
- 2020-01-01
- 2019-11-01
- 2019-10-01
- 2019-08-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
Bicep 资源定义
可以使用目标作部署 managedClusters/agentPools 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerService/managedClusters/agentPools 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.ContainerService/managedClusters/agentPools@2025-02-01' = {
parent: resourceSymbolicName
name: 'string'
properties: {
availabilityZones: [
'string'
]
capacityReservationGroupID: 'string'
count: int
creationData: {
sourceResourceId: 'string'
}
enableAutoScaling: bool
enableEncryptionAtHost: bool
enableFIPS: bool
enableNodePublicIP: bool
enableUltraSSD: bool
gpuInstanceProfile: 'string'
gpuProfile: {
driver: '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
messageOfTheDay: 'string'
minCount: int
mode: 'string'
networkProfile: {
allowedHostPorts: [
{
portEnd: int
portStart: int
protocol: 'string'
}
]
applicationSecurityGroups: [
'string'
]
nodePublicIPTags: [
{
ipTagType: 'string'
tag: 'string'
}
]
}
nodeLabels: {
{customized property}: 'string'
}
nodePublicIPPrefixID: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osSKU: 'string'
osType: 'string'
podSubnetID: 'string'
powerState: {
code: 'string'
}
proximityPlacementGroupID: 'string'
scaleDownMode: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
securityProfile: {
enableSecureBoot: bool
enableVTPM: bool
}
spotMaxPrice: int
tags: {
{customized property}: 'string'
}
type: 'string'
upgradeSettings: {
drainTimeoutInMinutes: int
maxSurge: 'string'
nodeSoakDurationInMinutes: int
}
vmSize: 'string'
vnetSubnetID: 'string'
windowsProfile: {
disableOutboundNat: bool
}
workloadRuntime: 'string'
}
}
属性值
Microsoft.ContainerService/managedClusters/agentPools
名字 | DESCRIPTION | 价值 |
---|---|---|
姓名 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 12 模式 = ^[a-z][a-z0-9]{0,11}$ (必需) |
父级 | 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。 有关详细信息,请参阅 父资源外部的子资源。 |
类型资源的符号名称: managedClusters |
属性 | 代理池的属性。 | ManagedClusterAgentPoolProfile属性 |
AgentPoolNetworkProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolUpgradeSettings
名字 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
AgentPoolWindows配置文件
名字 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名字 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
GPUProfile 文件
名字 | DESCRIPTION | 价值 |
---|---|---|
司机 | 是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。 | “Install” “None” |
IPTag 标签
名字 | DESCRIPTION | 价值 |
---|---|---|
ipTag类型 | IP 标记类型。 示例:RoutingPreference。 | 字符串 |
标签 | 与公共 IP 关联的 IP 标记的值。 示例:Internet。 | 字符串 |
KubeletConfig 实例
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以结尾 * )。 |
字符串[] |
containerLogMax文件 | 一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
容器日志最大大小MB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | 整数 (int) |
cpuCfs配额 | 默认值为 true。 | 布尔 |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | 布尔 |
imageGcHighThreshold | 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% | 整数 (int) |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | 整数 (int) |
podMaxPids | 每个 Pod 的最大进程数。 | 整数 (int) |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | DESCRIPTION | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | 整数 (int) |
sysctl 参数 | Linux 代理节点的 Sysctl 设置。 | SysctlConfig 配置 |
transparentHugePage碎片整理 | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePage已启用 | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
ManagedClusterAgentPoolProfile属性
名字 | DESCRIPTION | 价值 |
---|---|---|
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | GPUProfile 文件 |
主机组 ID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubelet配置 | 代理池节点上的 Kubelet 配置。 | KubeletConfig 实例 |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
最大计数 | 自动缩放的最大节点数 | 整数 (int) |
最大 Pod | 可在节点上运行的 Pod 的最大数目。 | 整数 (int) |
每日消息 | 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 | 字符串 |
最小计数 | 自动缩放的最小节点数 | 整数 (int) |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
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(如果 OSType 为 Windows)时 >,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState 公司 |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “Deallocate” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “Deallocate” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “Spot” |
securityProfile | 代理池的安全设置。 | AgentPoolSecurityProfile |
现货最大价格 | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 | 整数 (int) |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “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} | 字符串 |
windows配置文件 | Windows 代理池的特定配置文件。 | AgentPoolWindows配置文件 |
workloadRuntime (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名字 | DESCRIPTION | 价值 |
---|
端口范围
名字 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名字 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
SysctlConfig 配置
名字 | DESCRIPTION | 价值 |
---|---|---|
fsAioMaxNr | Sysctl 设置 fs.aio-max-nr。 | 整数 (int) |
fsFileMax | Sysctl 设置 fs.file-max。 | 整数 (int) |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | 整数 (int) |
fsNrOpen | Sysctl 设置fs.nr_open。 | 整数 (int) |
内核线程最大值 | Sysctl 设置 kernel.threads-max。 | 整数 (int) |
netCoreNetdevMax积压 | Sysctl 设置net.core.netdev_max_backlog。 | 整数 (int) |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | 整数 (int) |
netCoreRmem默认 | Sysctl 设置net.core.rmem_default。 | 整数 (int) |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | 整数 (int) |
netCoreSomaxconn | Sysctl 设置 net.core.somaxconn。 | 整数 (int) |
netCoreWmem默认 | 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 |
netIpv4TcpKeepalive探针 | 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) |
netIpv4TcpTw重用 | Sysctl 设置net.ipv4.tcp_tw_reuse。 | 布尔 |
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) |
ARM 模板资源定义
可以使用目标作部署 managedClusters/agentPools 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerService/managedClusters/agentPools 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"apiVersion": "2025-02-01",
"name": "string",
"properties": {
"availabilityZones": [ "string" ],
"capacityReservationGroupID": "string",
"count": "int",
"creationData": {
"sourceResourceId": "string"
},
"enableAutoScaling": "bool",
"enableEncryptionAtHost": "bool",
"enableFIPS": "bool",
"enableNodePublicIP": "bool",
"enableUltraSSD": "bool",
"gpuInstanceProfile": "string",
"gpuProfile": {
"driver": "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",
"messageOfTheDay": "string",
"minCount": "int",
"mode": "string",
"networkProfile": {
"allowedHostPorts": [
{
"portEnd": "int",
"portStart": "int",
"protocol": "string"
}
],
"applicationSecurityGroups": [ "string" ],
"nodePublicIPTags": [
{
"ipTagType": "string",
"tag": "string"
}
]
},
"nodeLabels": {
"{customized property}": "string"
},
"nodePublicIPPrefixID": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osSKU": "string",
"osType": "string",
"podSubnetID": "string",
"powerState": {
"code": "string"
},
"proximityPlacementGroupID": "string",
"scaleDownMode": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"securityProfile": {
"enableSecureBoot": "bool",
"enableVTPM": "bool"
},
"spotMaxPrice": "int",
"tags": {
"{customized property}": "string"
},
"type": "string",
"upgradeSettings": {
"drainTimeoutInMinutes": "int",
"maxSurge": "string",
"nodeSoakDurationInMinutes": "int"
},
"vmSize": "string",
"vnetSubnetID": "string",
"windowsProfile": {
"disableOutboundNat": "bool"
},
"workloadRuntime": "string"
}
}
属性值
Microsoft.ContainerService/managedClusters/agentPools
名字 | DESCRIPTION | 价值 |
---|---|---|
apiVersion | API 版本 | '2025-02-01' |
姓名 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 12 模式 = ^[a-z][a-z0-9]{0,11}$ (必需) |
属性 | 代理池的属性。 | ManagedClusterAgentPoolProfile属性 |
类型 | 资源类型 | “Microsoft.ContainerService/managedClusters/agentPools” |
AgentPoolNetworkProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolUpgradeSettings
名字 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
AgentPoolWindows配置文件
名字 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名字 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
GPUProfile 文件
名字 | DESCRIPTION | 价值 |
---|---|---|
司机 | 是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。 | “Install” “None” |
IPTag 标签
名字 | DESCRIPTION | 价值 |
---|---|---|
ipTag类型 | IP 标记类型。 示例:RoutingPreference。 | 字符串 |
标签 | 与公共 IP 关联的 IP 标记的值。 示例:Internet。 | 字符串 |
KubeletConfig 实例
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以结尾 * )。 |
字符串[] |
containerLogMax文件 | 一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
容器日志最大大小MB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | 整数 (int) |
cpuCfs配额 | 默认值为 true。 | 布尔 |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | 布尔 |
imageGcHighThreshold | 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% | 整数 (int) |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | 整数 (int) |
podMaxPids | 每个 Pod 的最大进程数。 | 整数 (int) |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | DESCRIPTION | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | 整数 (int) |
sysctl 参数 | Linux 代理节点的 Sysctl 设置。 | SysctlConfig 配置 |
transparentHugePage碎片整理 | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePage已启用 | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
ManagedClusterAgentPoolProfile属性
名字 | DESCRIPTION | 价值 |
---|---|---|
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | GPUProfile 文件 |
主机组 ID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubelet配置 | 代理池节点上的 Kubelet 配置。 | KubeletConfig 实例 |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
最大计数 | 自动缩放的最大节点数 | 整数 (int) |
最大 Pod | 可在节点上运行的 Pod 的最大数目。 | 整数 (int) |
每日消息 | 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 | 字符串 |
最小计数 | 自动缩放的最小节点数 | 整数 (int) |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
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(如果 OSType 为 Windows)时 >,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState 公司 |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “Deallocate” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “Deallocate” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “Spot” |
securityProfile | 代理池的安全设置。 | AgentPoolSecurityProfile |
现货最大价格 | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 | 整数 (int) |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “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} | 字符串 |
windows配置文件 | Windows 代理池的特定配置文件。 | AgentPoolWindows配置文件 |
workloadRuntime (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名字 | DESCRIPTION | 价值 |
---|
端口范围
名字 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名字 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
SysctlConfig 配置
名字 | DESCRIPTION | 价值 |
---|---|---|
fsAioMaxNr | Sysctl 设置 fs.aio-max-nr。 | 整数 (int) |
fsFileMax | Sysctl 设置 fs.file-max。 | 整数 (int) |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | 整数 (int) |
fsNrOpen | Sysctl 设置fs.nr_open。 | 整数 (int) |
内核线程最大值 | Sysctl 设置 kernel.threads-max。 | 整数 (int) |
netCoreNetdevMax积压 | Sysctl 设置net.core.netdev_max_backlog。 | 整数 (int) |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | 整数 (int) |
netCoreRmem默认 | Sysctl 设置net.core.rmem_default。 | 整数 (int) |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | 整数 (int) |
netCoreSomaxconn | Sysctl 设置 net.core.somaxconn。 | 整数 (int) |
netCoreWmem默认 | 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 |
netIpv4TcpKeepalive探针 | 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) |
netIpv4TcpTw重用 | Sysctl 设置net.ipv4.tcp_tw_reuse。 | 布尔 |
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) |
用法示例
Azure 快速入门模板
以下 Azure 快速入门模板 部署此资源类型。
模板 | DESCRIPTION |
---|---|
为 Azure ML 部署 AKS 群集 |
使用此模板可以部署可附加到 Azure ML 的符合条目的 AKS 群集 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标作部署 managedClusters/agentPools 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerService/managedClusters/agentPools 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters/agentPools@2025-02-01"
name = "string"
parent_id = "string"
body = {
properties = {
availabilityZones = [
"string"
]
capacityReservationGroupID = "string"
count = int
creationData = {
sourceResourceId = "string"
}
enableAutoScaling = bool
enableEncryptionAtHost = bool
enableFIPS = bool
enableNodePublicIP = bool
enableUltraSSD = bool
gpuInstanceProfile = "string"
gpuProfile = {
driver = "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
messageOfTheDay = "string"
minCount = int
mode = "string"
networkProfile = {
allowedHostPorts = [
{
portEnd = int
portStart = int
protocol = "string"
}
]
applicationSecurityGroups = [
"string"
]
nodePublicIPTags = [
{
ipTagType = "string"
tag = "string"
}
]
}
nodeLabels = {
{customized property} = "string"
}
nodePublicIPPrefixID = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osSKU = "string"
osType = "string"
podSubnetID = "string"
powerState = {
code = "string"
}
proximityPlacementGroupID = "string"
scaleDownMode = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
securityProfile = {
enableSecureBoot = bool
enableVTPM = bool
}
spotMaxPrice = int
tags = {
{customized property} = "string"
}
type = "string"
upgradeSettings = {
drainTimeoutInMinutes = int
maxSurge = "string"
nodeSoakDurationInMinutes = int
}
vmSize = "string"
vnetSubnetID = "string"
windowsProfile = {
disableOutboundNat = bool
}
workloadRuntime = "string"
}
}
}
属性值
Microsoft.ContainerService/managedClusters/agentPools
名字 | DESCRIPTION | 价值 |
---|---|---|
姓名 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 12 模式 = ^[a-z][a-z0-9]{0,11}$ (必需) |
parent_id | 此资源的父资源的 ID。 | 类型资源的 ID: managedClusters |
属性 | 代理池的属性。 | ManagedClusterAgentPoolProfile属性 |
类型 | 资源类型 | “Microsoft.ContainerService/managedClusters/agentPools@2025-02-01” |
AgentPoolNetworkProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名字 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolUpgradeSettings
名字 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster#customize-node-surge-upgrade | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
AgentPoolWindows配置文件
名字 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名字 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
GPUProfile 文件
名字 | DESCRIPTION | 价值 |
---|---|---|
司机 | 是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。 | “Install” “None” |
IPTag 标签
名字 | DESCRIPTION | 价值 |
---|---|---|
ipTag类型 | IP 标记类型。 示例:RoutingPreference。 | 字符串 |
标签 | 与公共 IP 关联的 IP 标记的值。 示例:Internet。 | 字符串 |
KubeletConfig 实例
名字 | DESCRIPTION | 价值 |
---|---|---|
allowedUnsafeSysctls | 允许的不安全 sysctls 或不安全的 sysctl 模式列表(以结尾 * )。 |
字符串[] |
containerLogMax文件 | 一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 | int 约束: 最小值 = 2 |
容器日志最大大小MB | 在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 | 整数 (int) |
cpuCfs配额 | 默认值为 true。 | 布尔 |
cpuCfsQuotaPeriod | 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 | 字符串 |
cpuManagerPolicy | 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 | 字符串 |
failSwapOn | 如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 | 布尔 |
imageGcHighThreshold | 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% | 整数 (int) |
imageGcLowThreshold | 这不能设置为高于 imageGcHighThreshold。 默认值为 80% | 整数 (int) |
podMaxPids | 每个 Pod 的最大进程数。 | 整数 (int) |
topologyManagerPolicy | 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 | 字符串 |
LinuxOSConfig
名字 | DESCRIPTION | 价值 |
---|---|---|
swapFileSizeMB | 将在每个节点上创建的交换文件的大小(以 MB 为单位)。 | 整数 (int) |
sysctl 参数 | Linux 代理节点的 Sysctl 设置。 | SysctlConfig 配置 |
transparentHugePage碎片整理 | 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
transparentHugePage已启用 | 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 | 字符串 |
ManagedClusterAgentPoolProfile属性
名字 | DESCRIPTION | 价值 |
---|---|---|
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | GPUProfile 文件 |
主机组 ID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 有关详细信息,请参阅 Azure 专用主机。 | 字符串 |
kubelet配置 | 代理池节点上的 Kubelet 配置。 | KubeletConfig 实例 |
kubeletDiskType | 确定 emptyDir 卷、容器运行时数据根目录和 Kubelet 临时存储的位置。 | “OS” “临时” |
linuxOSConfig | Linux 代理节点的 OS 配置。 | LinuxOSConfig |
最大计数 | 自动缩放的最大节点数 | 整数 (int) |
最大 Pod | 可在节点上运行的 Pod 的最大数目。 | 整数 (int) |
每日消息 | 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 它不得为 Windows 节点指定。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 | 字符串 |
最小计数 | 自动缩放的最小节点数 | 整数 (int) |
模式 | 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:/azure/aks/use-system-pools | “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
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(如果 OSType 为 Windows)时 >,默认值为 Windows2019。 | “AzureLinux” “CBLMariner” “Ubuntu” “Windows2019” “Windows2022” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podSubnetID | 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | 字符串 |
powerState | 首次创建代理池时,它最初正在运行。 可以通过将此字段设置为“已停止”来停止代理池。 已停止的代理池会停止其所有 VM,不会产生计费费用。 仅当代理池正在运行并且预配状态为“成功”时,才能停止代理池 | PowerState 公司 |
proximityPlacementGroupID | 邻近放置组的 ID。 | 字符串 |
scaleDownMode | 这也会影响群集自动缩放程序的行为。 如果未指定,则默认为 Delete。 | “Deallocate” “Delete” |
scaleSetEvictionPolicy | 除非 scaleSetPriority 为“Spot”,否则无法指定此项。 如果未指定,则默认值为“Delete”。 | “Deallocate” “Delete” |
scaleSetPriority | 虚拟机规模集优先级。 如果未指定,则默认值为“Regular”。 | “Regular” “Spot” |
securityProfile | 代理池的安全设置。 | AgentPoolSecurityProfile |
现货最大价格 | 可能的值是大于零或 -1 的任何小数值,表示愿意支付任何按需价格。 有关现成定价的更多详细信息,请参阅 现成 VM 定价 | 整数 (int) |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “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} | 字符串 |
windows配置文件 | Windows 代理池的特定配置文件。 | AgentPoolWindows配置文件 |
workloadRuntime (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名字 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名字 | DESCRIPTION | 价值 |
---|
端口范围
名字 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名字 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
SysctlConfig 配置
名字 | DESCRIPTION | 价值 |
---|---|---|
fsAioMaxNr | Sysctl 设置 fs.aio-max-nr。 | 整数 (int) |
fsFileMax | Sysctl 设置 fs.file-max。 | 整数 (int) |
fsInotifyMaxUserWatches | Sysctl 设置 fs.inotify.max_user_watches。 | 整数 (int) |
fsNrOpen | Sysctl 设置fs.nr_open。 | 整数 (int) |
内核线程最大值 | Sysctl 设置 kernel.threads-max。 | 整数 (int) |
netCoreNetdevMax积压 | Sysctl 设置net.core.netdev_max_backlog。 | 整数 (int) |
netCoreOptmemMax | Sysctl 设置net.core.optmem_max。 | 整数 (int) |
netCoreRmem默认 | Sysctl 设置net.core.rmem_default。 | 整数 (int) |
netCoreRmemMax | Sysctl 设置net.core.rmem_max。 | 整数 (int) |
netCoreSomaxconn | Sysctl 设置 net.core.somaxconn。 | 整数 (int) |
netCoreWmem默认 | 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 |
netIpv4TcpKeepalive探针 | 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) |
netIpv4TcpTw重用 | Sysctl 设置net.ipv4.tcp_tw_reuse。 | 布尔 |
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) |