你当前正在访问 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-02-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
artifactStreamingProfile: {
enabled: bool
}
availabilityZones: [
'string'
]
capacityReservationGroupID: 'string'
count: int
creationData: {
sourceResourceId: 'string'
}
enableAutoScaling: bool
enableCustomCATrust: bool
enableEncryptionAtHost: bool
enableFIPS: bool
enableNodePublicIP: bool
enableUltraSSD: bool
gatewayProfile: {
publicIPPrefixSize: int
}
gpuInstanceProfile: 'string'
gpuProfile: {
driverType: 'string'
installGPUDriver: bool
}
hostGroupID: 'string'
kubeletConfig: {
allowedUnsafeSysctls: [
'string'
]
containerLogMaxFiles: int
containerLogMaxSizeMB: int
cpuCfsQuota: bool
cpuCfsQuotaPeriod: 'string'
cpuManagerPolicy: 'string'
failSwapOn: bool
imageGcHighThreshold: int
imageGcLowThreshold: int
podMaxPids: int
seccompDefault: 'string'
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'
}
]
}
nodeInitializationTaints: [
'string'
]
nodeLabels: {
{customized property}: 'string'
}
nodePublicIPPrefixID: 'string'
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osSKU: 'string'
osType: 'string'
podIPAllocationMode: 'string'
podSubnetID: 'string'
powerState: {
code: 'string'
}
proximityPlacementGroupID: 'string'
scaleDownMode: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
securityProfile: {
enableSecureBoot: bool
enableVTPM: bool
sshAccess: 'string'
}
spotMaxPrice: int
status: {}
tags: {
{customized property}: 'string'
}
type: 'string'
upgradeSettings: {
drainTimeoutInMinutes: int
maxBlockedNodes: 'string'
maxSurge: 'string'
maxUnavailable: 'string'
nodeSoakDurationInMinutes: int
undrainableNodeBehavior: 'string'
}
virtualMachineNodesStatus: [
{
count: int
size: 'string'
}
]
virtualMachinesProfile: {
scale: {
autoscale: any(...)
manual: [
{
count: int
size: 'string'
}
]
}
}
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属性 |
AgentPoolArtifactStreamingProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用 | 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolGateway配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
publicIPPrefixSize | 网关代理池为每个静态出口网关关联一个公共 IPPrefix,以提供公共出口。 用户应选择公共 IPPrefix 的大小。 代理池中的每个节点都分配有 IPPrefix 中的一个 IP。 因此,IPPrefix 大小充当网关代理池大小的上限。 由于 Azure 公共 IPPrefix 大小限制,有效值范围为 [28, 31] (/31 = 2 个节点/IP,/30 = 4 个节点/IP,/29 = 8 个节点/IP,/28 = 16 个节点/IP)。 默认值为 31。 | int 约束: 最小值 = 28 最大值 = 31 |
AgentPoolGPUPro文件
名称 | DESCRIPTION | 价值 |
---|---|---|
driverType | 指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。 | “CUDA” “GRID” |
安装 GPUDriver | 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 | 布尔 |
AgentPoolNetworkProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
sshAccess | 代理池的 SSH 访问方法。 | “Disabled” “LocalUser” |
AgentPoolStatus
名称 | DESCRIPTION | 价值 |
---|
AgentPoolUpgradeSettings
名称 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大阻塞节点数 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 maxSurge。 这必须始终大于或等于 maxSurge。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
max不可用 | 这可以设置为整数(例如'1')或百分比(例如'5%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 0。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
undrainableNodeBehavior | 定义升级期间不可透支节点的行为。 不透支节点的最常见原因是 Pod 中断预算(PDB),但其他问题(例如 Pod 终止宽限期超出剩余的每节点排空超时或 Pod 仍在运行状态)也可能导致无法执行的节点。 | “Cordon” “Schedule” |
AgentPoolWindows配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名称 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
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) |
seccomp默认 | 指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。 | “RuntimeDefault” “Unconfined” |
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 | 价值 |
---|---|---|
artifactStreamingProfile | 用于在 AKS 上使用项目流式传输的配置。 | AgentPoolArtifactStreamingProfile |
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableCustomCATrust | 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认为 false。 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gateway简介 | 特定于网关模式下托管代理池的配置文件。 如果代理池模式不是网关,则无法设置此字段。 | AgentPoolGateway配置文件 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | AgentPoolGPUPro文件 |
主机组 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 | “Gateway” “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeInitialization污点 | 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负载之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- |
字符串[] |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
orchestratorVersion | 支持修补程序版本 <major.minor.patch> 和 <major.minor> 。 指定 major.minor< 后>,会自动选择最新支持的修补程序版本。 创建代理池后,使用相同的 major.minor< 更新代理池>不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “Managed” |
osSKU | 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 | “AzureLinux” “CBLMariner” “水手” “Ubuntu” “Windows2019” “Windows2022” “WindowsAnnual” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podIPAllocationMode | 代理池中 Pod 的 IP 分配模式。 必须与 podSubnetId 一起使用。 默认值为“DynamicIndividual”。 | “DynamicIndividual” “StaticBlock” |
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) |
状态 | 包含有关代理池的只读信息。 | AgentPoolStatus |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachines” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
virtualMachineNodesStatus | VirtualMachines 代理池中的节点的状态。 | VirtualMachineNodes[] |
virtualMachines配置文件 | VirtualMachines 代理池上的规范。 | VirtualMachines配置文件 |
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 (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “KataMshvVmIsolation” “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名称 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名称 | DESCRIPTION | 价值 |
---|
手动缩放配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | AKS 在创建和缩放时将使用的 VM 大小,例如“Standard_E4s_v3”、“Standard_E16s_v3”或“Standard_D16s_v5”。 | 字符串 |
端口范围
名称 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名称 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
ScaleProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
自动缩放 | 有关如何在预定义大小范围内自动缩放 VirtualMachines 代理池的规范。 | 任何 |
手动 | 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 | ManualScaleProfile[] |
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) |
VirtualMachine节点
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | 用于托管此节点组的代理的 VM 大小。 | 字符串 |
VirtualMachines配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
缩放 | 有关如何缩放 VirtualMachines 代理池的规范。 | ScaleProfile |
ARM 模板资源定义
可以使用目标作部署 managedClusters/agentPools 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.ContainerService/managedClusters/agentPools 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.ContainerService/managedClusters/agentPools",
"apiVersion": "2025-02-02-preview",
"name": "string",
"properties": {
"artifactStreamingProfile": {
"enabled": "bool"
},
"availabilityZones": [ "string" ],
"capacityReservationGroupID": "string",
"count": "int",
"creationData": {
"sourceResourceId": "string"
},
"enableAutoScaling": "bool",
"enableCustomCATrust": "bool",
"enableEncryptionAtHost": "bool",
"enableFIPS": "bool",
"enableNodePublicIP": "bool",
"enableUltraSSD": "bool",
"gatewayProfile": {
"publicIPPrefixSize": "int"
},
"gpuInstanceProfile": "string",
"gpuProfile": {
"driverType": "string",
"installGPUDriver": "bool"
},
"hostGroupID": "string",
"kubeletConfig": {
"allowedUnsafeSysctls": [ "string" ],
"containerLogMaxFiles": "int",
"containerLogMaxSizeMB": "int",
"cpuCfsQuota": "bool",
"cpuCfsQuotaPeriod": "string",
"cpuManagerPolicy": "string",
"failSwapOn": "bool",
"imageGcHighThreshold": "int",
"imageGcLowThreshold": "int",
"podMaxPids": "int",
"seccompDefault": "string",
"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"
}
]
},
"nodeInitializationTaints": [ "string" ],
"nodeLabels": {
"{customized property}": "string"
},
"nodePublicIPPrefixID": "string",
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osSKU": "string",
"osType": "string",
"podIPAllocationMode": "string",
"podSubnetID": "string",
"powerState": {
"code": "string"
},
"proximityPlacementGroupID": "string",
"scaleDownMode": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"securityProfile": {
"enableSecureBoot": "bool",
"enableVTPM": "bool",
"sshAccess": "string"
},
"spotMaxPrice": "int",
"status": {
},
"tags": {
"{customized property}": "string"
},
"type": "string",
"upgradeSettings": {
"drainTimeoutInMinutes": "int",
"maxBlockedNodes": "string",
"maxSurge": "string",
"maxUnavailable": "string",
"nodeSoakDurationInMinutes": "int",
"undrainableNodeBehavior": "string"
},
"virtualMachineNodesStatus": [
{
"count": "int",
"size": "string"
}
],
"virtualMachinesProfile": {
"scale": {
"autoscale": {},
"manual": [
{
"count": "int",
"size": "string"
}
]
}
},
"vmSize": "string",
"vnetSubnetID": "string",
"windowsProfile": {
"disableOutboundNat": "bool"
},
"workloadRuntime": "string"
}
}
属性值
Microsoft.ContainerService/managedClusters/agentPools
名称 | DESCRIPTION | 价值 |
---|---|---|
apiVersion | API 版本 | “2025-02-02-预览” |
姓名 | 资源名称 | 字符串 约束: 最小长度 = 1 最大长度 = 12 模式 = ^[a-z][a-z0-9]{0,11}$ (必需) |
属性 | 代理池的属性。 | ManagedClusterAgentPoolProfile属性 |
类型 | 资源类型 | “Microsoft.ContainerService/managedClusters/agentPools” |
AgentPoolArtifactStreamingProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用 | 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolGateway配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
publicIPPrefixSize | 网关代理池为每个静态出口网关关联一个公共 IPPrefix,以提供公共出口。 用户应选择公共 IPPrefix 的大小。 代理池中的每个节点都分配有 IPPrefix 中的一个 IP。 因此,IPPrefix 大小充当网关代理池大小的上限。 由于 Azure 公共 IPPrefix 大小限制,有效值范围为 [28, 31] (/31 = 2 个节点/IP,/30 = 4 个节点/IP,/29 = 8 个节点/IP,/28 = 16 个节点/IP)。 默认值为 31。 | int 约束: 最小值 = 28 最大值 = 31 |
AgentPoolGPUPro文件
名称 | DESCRIPTION | 价值 |
---|---|---|
driverType | 指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。 | “CUDA” “GRID” |
安装 GPUDriver | 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 | 布尔 |
AgentPoolNetworkProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
sshAccess | 代理池的 SSH 访问方法。 | “Disabled” “LocalUser” |
AgentPoolStatus
名称 | DESCRIPTION | 价值 |
---|
AgentPoolUpgradeSettings
名称 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大阻塞节点数 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 maxSurge。 这必须始终大于或等于 maxSurge。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
max不可用 | 这可以设置为整数(例如'1')或百分比(例如'5%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 0。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
undrainableNodeBehavior | 定义升级期间不可透支节点的行为。 不透支节点的最常见原因是 Pod 中断预算(PDB),但其他问题(例如 Pod 终止宽限期超出剩余的每节点排空超时或 Pod 仍在运行状态)也可能导致无法执行的节点。 | “Cordon” “Schedule” |
AgentPoolWindows配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名称 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
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) |
seccomp默认 | 指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。 | “RuntimeDefault” “Unconfined” |
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 | 价值 |
---|---|---|
artifactStreamingProfile | 用于在 AKS 上使用项目流式传输的配置。 | AgentPoolArtifactStreamingProfile |
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableCustomCATrust | 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认为 false。 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gateway简介 | 特定于网关模式下托管代理池的配置文件。 如果代理池模式不是网关,则无法设置此字段。 | AgentPoolGateway配置文件 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | AgentPoolGPUPro文件 |
主机组 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 | “Gateway” “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeInitialization污点 | 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负载之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- |
字符串[] |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
orchestratorVersion | 支持修补程序版本 <major.minor.patch> 和 <major.minor> 。 指定 major.minor< 后>,会自动选择最新支持的修补程序版本。 创建代理池后,使用相同的 major.minor< 更新代理池>不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “Managed” |
osSKU | 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 | “AzureLinux” “CBLMariner” “水手” “Ubuntu” “Windows2019” “Windows2022” “WindowsAnnual” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podIPAllocationMode | 代理池中 Pod 的 IP 分配模式。 必须与 podSubnetId 一起使用。 默认值为“DynamicIndividual”。 | “DynamicIndividual” “StaticBlock” |
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) |
状态 | 包含有关代理池的只读信息。 | AgentPoolStatus |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachines” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
virtualMachineNodesStatus | VirtualMachines 代理池中的节点的状态。 | VirtualMachineNodes[] |
virtualMachines配置文件 | VirtualMachines 代理池上的规范。 | VirtualMachines配置文件 |
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 (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “KataMshvVmIsolation” “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名称 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名称 | DESCRIPTION | 价值 |
---|
手动缩放配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | AKS 在创建和缩放时将使用的 VM 大小,例如“Standard_E4s_v3”、“Standard_E16s_v3”或“Standard_D16s_v5”。 | 字符串 |
端口范围
名称 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名称 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
ScaleProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
自动缩放 | 有关如何在预定义大小范围内自动缩放 VirtualMachines 代理池的规范。 | 任何 |
手动 | 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 | ManualScaleProfile[] |
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) |
VirtualMachine节点
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | 用于托管此节点组的代理的 VM 大小。 | 字符串 |
VirtualMachines配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
缩放 | 有关如何缩放 VirtualMachines 代理池的规范。 | ScaleProfile |
用法示例
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-02-preview"
name = "string"
parent_id = "string"
body = {
properties = {
artifactStreamingProfile = {
enabled = bool
}
availabilityZones = [
"string"
]
capacityReservationGroupID = "string"
count = int
creationData = {
sourceResourceId = "string"
}
enableAutoScaling = bool
enableCustomCATrust = bool
enableEncryptionAtHost = bool
enableFIPS = bool
enableNodePublicIP = bool
enableUltraSSD = bool
gatewayProfile = {
publicIPPrefixSize = int
}
gpuInstanceProfile = "string"
gpuProfile = {
driverType = "string"
installGPUDriver = bool
}
hostGroupID = "string"
kubeletConfig = {
allowedUnsafeSysctls = [
"string"
]
containerLogMaxFiles = int
containerLogMaxSizeMB = int
cpuCfsQuota = bool
cpuCfsQuotaPeriod = "string"
cpuManagerPolicy = "string"
failSwapOn = bool
imageGcHighThreshold = int
imageGcLowThreshold = int
podMaxPids = int
seccompDefault = "string"
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"
}
]
}
nodeInitializationTaints = [
"string"
]
nodeLabels = {
{customized property} = "string"
}
nodePublicIPPrefixID = "string"
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osSKU = "string"
osType = "string"
podIPAllocationMode = "string"
podSubnetID = "string"
powerState = {
code = "string"
}
proximityPlacementGroupID = "string"
scaleDownMode = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
securityProfile = {
enableSecureBoot = bool
enableVTPM = bool
sshAccess = "string"
}
spotMaxPrice = int
status = {
}
tags = {
{customized property} = "string"
}
type = "string"
upgradeSettings = {
drainTimeoutInMinutes = int
maxBlockedNodes = "string"
maxSurge = "string"
maxUnavailable = "string"
nodeSoakDurationInMinutes = int
undrainableNodeBehavior = "string"
}
virtualMachineNodesStatus = [
{
count = int
size = "string"
}
]
virtualMachinesProfile = {
scale = {
autoscale = ?
manual = [
{
count = int
size = "string"
}
]
}
}
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-02-preview” |
AgentPoolArtifactStreamingProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用 | 项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 | 布尔 |
AgentPoolGateway配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
publicIPPrefixSize | 网关代理池为每个静态出口网关关联一个公共 IPPrefix,以提供公共出口。 用户应选择公共 IPPrefix 的大小。 代理池中的每个节点都分配有 IPPrefix 中的一个 IP。 因此,IPPrefix 大小充当网关代理池大小的上限。 由于 Azure 公共 IPPrefix 大小限制,有效值范围为 [28, 31] (/31 = 2 个节点/IP,/30 = 4 个节点/IP,/29 = 8 个节点/IP,/28 = 16 个节点/IP)。 默认值为 31。 | int 约束: 最小值 = 28 最大值 = 31 |
AgentPoolGPUPro文件
名称 | DESCRIPTION | 价值 |
---|---|---|
driverType | 指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。 | “CUDA” “GRID” |
安装 GPUDriver | 如果代理池的 vmSize 包含 GPU,则默认值为 true,否则为 false。 仅当 VM 具有关联的 GPU 资源时,才能将 GPU 驱动程序安装设置为 true。 将此字段设置为 false 可防止自动安装 GPU 驱动程序。 在这种情况下,为了使 GPU 可用,用户必须自行执行 GPU 驱动程序安装。 | 布尔 |
AgentPoolNetworkProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
allowedHostPorts | 允许访问的端口范围。 允许指定的范围重叠。 | 端口范围 |
applicationSecurity组 | 创建代理池时将关联的应用程序安全组的 ID。 | 字符串[] |
nodePublicIP 标签 | 实例级公共 IP 的 IPTag。 | IPTag 标签 |
AgentPoolSecurityProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
启用安全引导 | 安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
启用 VTPM | vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 | 布尔 |
sshAccess | 代理池的 SSH 访问方法。 | “Disabled” “LocalUser” |
AgentPoolStatus
名称 | DESCRIPTION | 价值 |
---|
AgentPoolUpgradeSettings
名称 | DESCRIPTION | 价值 |
---|---|---|
drainTimeoutInMinutes | 在逐出 Pod 时等待的时间量(以分钟为单位),以及每个节点的正常终止时间。 此逐出等待时间遵循等待 Pod 中断预算。 如果超过此时间,升级将失败。 如果未指定,则默认值为 30 分钟。 | int 约束: 最小值 = 1 最大值 = 1440 |
最大阻塞节点数 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 maxSurge。 这必须始终大于或等于 maxSurge。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
最大浪涌 | 这可以设置为整数(例如'5')或百分比(例如'50%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 10%。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
max不可用 | 这可以设置为整数(例如'1')或百分比(例如'5%')。 如果指定了百分比,则它是升级时代理池大小总数的百分比。 对于百分比,小数节点向上舍入。 如果未指定,则默认值为 0。 有关详细信息,包括最佳做法,请参阅:/azure/aks/upgrade-cluster | 字符串 |
nodeSoakDurationInMinutes | 清空节点后以及重新映像节点并转到下一个节点之前等待的时间(以分钟为单位)。 如果未指定,则默认值为 0 分钟。 | int 约束: 最小值 = 0 最大值 = 30 |
undrainableNodeBehavior | 定义升级期间不可透支节点的行为。 不透支节点的最常见原因是 Pod 中断预算(PDB),但其他问题(例如 Pod 终止宽限期超出剩余的每节点排空超时或 Pod 仍在运行状态)也可能导致无法执行的节点。 | “Cordon” “Schedule” |
AgentPoolWindows配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
disableOutboundNat | 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 | 布尔 |
CreationData (创建数据)
名称 | DESCRIPTION | 价值 |
---|---|---|
源资源 ID | 这是用于创建目标对象的源对象的 ARM ID。 | 字符串 |
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) |
seccomp默认 | 指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。 | “RuntimeDefault” “Unconfined” |
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 | 价值 |
---|---|---|
artifactStreamingProfile | 用于在 AKS 上使用项目流式传输的配置。 | AgentPoolArtifactStreamingProfile |
可用性区域 | 要用于节点的可用性区域列表。 仅当 AgentPoolType 属性为“VirtualMachineScaleSets”时,才能指定此值。 | 字符串[] |
capacityReservationGroupID (容量预留组 ID) | AKS 会将指定的代理池与容量预留组相关联。 | 字符串 |
计数 | 用于托管 docker 容器的代理数(VM)。 允许的值必须在用户池的 0 到 1000(含)范围内,系统池的范围为 1 到 1000(含)。 默认值为 1。 | 整数 (int) |
creationData (创建数据) | 如果使用快照创建/升级节点池,则用于指定源快照 ID 的 CreationData。 | CreationData (创建数据) |
enableAutoScaling | 是否启用自动缩放程序 | 布尔 |
enableCustomCATrust | 如果设置为 true,AKS 会将一个标签添加到节点,指示已启用该功能,并将守护程序集与主机服务一起部署到节点信任存储中,以便从用户提供的 base64 编码证书列表将自定义证书颁发机构同步到节点信任存储中。 默认为 false。 | 布尔 |
enableEncryptionAtHost | 这仅在某些 VM 大小和某些 Azure 区域中受支持。 有关详细信息,请参阅:/azure/aks/enable-host-encryption | 布尔 |
启用 FIPS | 有关更多详细信息 ,请参阅添加已启用 FIPS 的节点池 。 | 布尔 |
启用节点公共 IP | 某些方案可能需要节点池中的节点接收其自己的专用公共 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 有关详细信息,请参阅 为每个节点分配公共 IP。 默认值为 false。 | 布尔 |
enableUltraSSD | 是否启用 UltraSSD | 布尔 |
gateway简介 | 特定于网关模式下托管代理池的配置文件。 如果代理池模式不是网关,则无法设置此字段。 | AgentPoolGateway配置文件 |
gpuInstance配置文件 | 用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 | “MIG1g” “MIG2g” “MIG3g” “MIG4g” “MIG7g” |
gpu配置文件 | 代理池的 GPU 设置。 | AgentPoolGPUPro文件 |
主机组 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 | “Gateway” “System” “User” |
网络简介 | 代理池的网络相关设置。 | AgentPoolNetworkProfile |
nodeInitialization污点 | 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 创建节点池后,可以修改此字段,但在需要重新执行的其他作(例如节点映像升级)之前,不会使用新的污点重新创建节点。 这些污点允许在节点准备好接受工作负载之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule- |
字符串[] |
nodeLabels (节点标签) | 要跨代理池中的所有节点保留的节点标签。 | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
nodePublicIPPrefixID | 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | 字符串 |
node污点 | 在节点池创建和缩放期间添加到新节点的污点。 例如,key=value:NoSchedule。 | 字符串[] |
orchestratorVersion | 支持修补程序版本 <major.minor.patch> 和 <major.minor> 。 指定 major.minor< 后>,会自动选择最新支持的修补程序版本。 创建代理池后,使用相同的 major.minor< 更新代理池>不会触发升级,即使有较新的修补程序版本可用也是如此。 最佳做法是将 AKS 群集中的所有节点池升级到相同的 Kubernetes 版本。 节点池版本必须与控制平面具有相同的主版本。 节点池次要版本必须位于控制平面版本的两个次要版本中。 节点池版本不能大于控制平面版本。 有关详细信息,请参阅 升级节点池。 | 字符串 |
osDiskSizeGB | OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 | int 约束: 最小值 = 0 最大值 = 2048 |
osDiskType | 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 有关详细信息,请参阅 临时 OS。 | “临时” “Managed” |
osSKU | 指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 | “AzureLinux” “CBLMariner” “水手” “Ubuntu” “Windows2019” “Windows2022” “WindowsAnnual” |
操作系统类型 | 作系统类型。 默认值为 Linux。 | “Linux” “Windows” |
podIPAllocationMode | 代理池中 Pod 的 IP 分配模式。 必须与 podSubnetId 一起使用。 默认值为“DynamicIndividual”。 | “DynamicIndividual” “StaticBlock” |
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) |
状态 | 包含有关代理池的只读信息。 | AgentPoolStatus |
标签 | 要保留在代理池虚拟机规模集上的标记。 | ManagedClusterAgentPoolProfileProperties标签 |
类型 | 代理池的类型。 | “AvailabilitySet” “VirtualMachines” “VirtualMachineScaleSets” |
upgradeSettings | 用于升级代理池的设置 | AgentPoolUpgradeSettings |
virtualMachineNodesStatus | VirtualMachines 代理池中的节点的状态。 | VirtualMachineNodes[] |
virtualMachines配置文件 | VirtualMachines 代理池上的规范。 | VirtualMachines配置文件 |
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 (工作负载运行时) | 确定节点可以运行的工作负荷的类型。 | “KataMshvVmIsolation” “OCIContainer” “WasmWasi” |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
名称 | DESCRIPTION | 价值 |
---|
ManagedClusterAgentPoolProfileProperties标签
名称 | DESCRIPTION | 价值 |
---|
手动缩放配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | AKS 在创建和缩放时将使用的 VM 大小,例如“Standard_E4s_v3”、“Standard_E16s_v3”或“Standard_D16s_v5”。 | 字符串 |
端口范围
名称 | DESCRIPTION | 价值 |
---|---|---|
预示 着 | 范围中包含的最大端口。 它的范围应从 1 到 65535,并且大于或等于 portStart。 | int 约束: 最小值 = 1 最大值 = 65535 |
端口开始 | 范围中包含的最小端口。 它的范围应从 1 到 65535,并且小于或等于 portEnd。 | int 约束: 最小值 = 1 最大值 = 65535 |
协议 | 端口的网络协议。 | “TCP” “UDP” |
PowerState 公司
名称 | DESCRIPTION | 价值 |
---|---|---|
代码 | 指示群集是正在运行还是已停止 | “Running” “Stopped” |
ScaleProfile
名称 | DESCRIPTION | 价值 |
---|---|---|
自动缩放 | 有关如何在预定义大小范围内自动缩放 VirtualMachines 代理池的规范。 | 任何 |
手动 | 有关如何将 VirtualMachines 代理池缩放为固定大小的规范。 | ManualScaleProfile[] |
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) |
VirtualMachine节点
名称 | DESCRIPTION | 价值 |
---|---|---|
计数 | 节点数。 | 整数 (int) |
大小 | 用于托管此节点组的代理的 VM 大小。 | 字符串 |
VirtualMachines配置文件
名称 | DESCRIPTION | 价值 |
---|---|---|
缩放 | 有关如何缩放 VirtualMachines 代理池的规范。 | ScaleProfile |