Machines - Create Or Update
在指定的代理池中创建或更新计算机。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/machines/{machineName}?api-version=2026-01-02-preview
URI 参数
| 名称 | 在 | 必需 | 类型 | 说明 |
|---|---|---|---|---|
|
agent
|
path | True |
string minLength: 1maxLength: 12 pattern: ^[a-z][a-z0-9]{0,11}$ |
代理池的名称。 |
|
machine
|
path | True |
string pattern: ^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$ |
计算机的主机名。 |
|
resource
|
path | True |
string minLength: 1maxLength: 90 |
资源组的名称。 此名称不区分大小写。 |
|
resource
|
path | True |
string minLength: 1maxLength: 63 pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ |
托管集群资源的名称。 |
|
subscription
|
path | True |
string (uuid) |
目标订阅的 ID。 该值必须是 UUID。 |
|
api-version
|
query | True |
string minLength: 1 |
用于此作的 API 版本。 |
请求头
| 名称 | 必需 | 类型 | 说明 |
|---|---|---|---|
| if-match |
string |
仅当实体与此字符串匹配时,请求才应继续。 |
|
| if-none-match |
string |
仅当没有实体与此字符串匹配时,请求才应继续。 |
请求正文
| 名称 | 类型 | 说明 |
|---|---|---|
| properties |
计算机的属性 |
响应
| 名称 | 类型 | 说明 |
|---|---|---|
| 200 OK |
资源“机器”更新作成功 |
|
| 201 Created |
资源“机器”创建作成功 标头
|
|
| Other Status Codes |
意外错误响应。 |
安全性
azure_auth
Azure Active Directory OAuth2 Flow.
类型:
oauth2
流向:
implicit
授权 URL:
https://login.microsoftonline.com/common/oauth2/authorize
作用域
| 名称 | 说明 |
|---|---|
| user_impersonation | 模拟用户帐户 |
示例
Create/Update Machine
示例请求
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1?api-version=2026-01-02-preview
{
"properties": {
"hardware": {
"vmSize": "Standard_DS1_v2"
},
"kubernetes": {
"kubeletDiskType": "OS",
"maxPods": 110,
"nodeLabels": {
"key1": "val1"
},
"nodeTaints": [
"Key1=Value1:NoSchedule"
],
"orchestratorVersion": "1.30"
},
"mode": "User",
"operatingSystem": {
"enableFIPS": false,
"osSKU": "Ubuntu",
"osType": "Linux"
},
"priority": "Spot",
"tags": {
"name1": "val1"
}
}
}
示例响应
{
"name": "machine1",
"type": "Microsoft.ContainerService/managedClusters/agentPools/machines",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1",
"properties": {
"hardware": {
"vmSize": "Standard_DS1_v2"
},
"kubernetes": {
"currentOrchestratorVersion": "1.30.6",
"kubeletDiskType": "OS",
"maxPods": 110,
"nodeLabels": {
"key1": "val1"
},
"nodeName": "aks-nodepool1-machine1-25481572-vm0",
"nodeTaints": [
"Key1=Value1:NoSchedule"
],
"orchestratorVersion": "1.30"
},
"mode": "User",
"nodeImageVersion": "AKSUbuntu:1604:2023.03.11",
"operatingSystem": {
"enableFIPS": false,
"osSKU": "Ubuntu",
"osType": "Linux"
},
"priority": "Spot",
"provisioningState": "Succeeded",
"status": {
"creationTimestamp": "2025-04-02T12:00:00Z",
"driftAction": "Synced",
"vmState": "Running"
},
"tags": {
"name1": "val1"
}
},
"zones": [
"1"
]
}
{
"name": "machine1",
"type": "Microsoft.ContainerService/managedClusters/agentPools/machines",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/agentPools/agentpool1/machines/machine1",
"properties": {
"hardware": {
"vmSize": "Standard_DS1_v2"
},
"kubernetes": {
"currentOrchestratorVersion": "1.30.6",
"kubeletDiskType": "OS",
"maxPods": 110,
"nodeLabels": {
"key1": "val1"
},
"nodeName": "aks-nodepool1-machine1-25481572-vm0",
"nodeTaints": [
"Key1=Value1:NoSchedule"
],
"orchestratorVersion": "1.30"
},
"mode": "User",
"nodeImageVersion": "AKSUbuntu:1604:2023.03.11",
"operatingSystem": {
"enableFIPS": false,
"osSKU": "Ubuntu",
"osType": "Linux"
},
"priority": "Spot",
"provisioningState": "Creating",
"status": {
"creationTimestamp": "2025-04-02T12:00:00Z",
"driftAction": "Synced",
"vmState": "Running"
},
"tags": {
"name1": "val1"
}
},
"zones": [
"1"
]
}
定义
| 名称 | 说明 |
|---|---|
|
Agent |
代理池的Artifact流配置文件。 |
|
Agent |
代理池的模式。 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:https://docs.microsoft.com/azure/aks/use-system-pools |
|
Agent |
代理池的SSH access方法。 |
|
Agent |
Windows 代理池的特定配置文件。 |
|
created |
创建资源的标识的类型。 |
|
Drift |
机器的漂移动作。 指示计算机是否由于托管集群属性的更改而偏离其预期状态,需要采取纠正措施。 |
|
Driver |
指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。 |
|
Error |
资源管理错误附加信息。 |
|
Error |
错误详细信息。 |
|
Error |
错误响应 |
| GPUDriver |
是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。 |
|
GPUInstance |
用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 |
| GPUProfile |
代理池的 GPU 设置。 |
| IPFamily |
确定地址属于 IPv4 还是 IPv6 系列 |
| IPTag |
包含与对象关联的 IPTag。 |
|
Kubelet |
代理节点的 Kubelet 配置。 有关详细信息,请参阅 AKS 自定义节点配置。 |
|
Kubelet |
确定空Dir卷、容器运行时数据根和Kubelet临时storage的放置。 |
|
Linux |
Linux 代理节点的 OS 配置。 有关详细信息,请参阅 AKS 自定义节点配置。 |
|
Local |
要从 localDNS 转发的 DNS 查询的目标服务器。 |
|
Local |
用于选择上游 DNS 服务器的转发策略。 有关更多信息,请参阅 forward plugin 。 |
|
Local |
localDNS 的启用模式。 |
|
Local |
localDNS 配置文件的覆盖。 |
|
Local |
使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。 |
|
Local |
对于从 localDNS 到上游 DNS 服务器的连接,强制执行 TCP 或首选 UDP 协议。 |
|
Local |
localDNS 中 DNS 查询的日志级别。 |
|
Local |
用于提供过时数据的策略。 有关更多信息,请参阅 缓存插件 。 |
|
Local |
系统生成的 localDNS 状态。 |
| Machine |
一台机器。 包含有关基础虚拟机的详细信息。 计算机可能在此处可见,但在 kubectl 获取节点中不可见;如果是这样,可能是因为计算机尚未注册到 Kubernetes API 服务器。 |
|
Machine |
这些属性与机器计费有关。 |
|
Machine |
计算机的硬件和 GPU 设置。 |
|
Machine |
计算机 IP 地址详细信息。 |
|
Machine |
计算机使用的 Kubernetes 配置。 |
|
Machine |
计算机的网络属性 |
|
Machine |
计算机使用的作系统和磁盘。 |
|
Machine |
Linux 计算机的特定配置文件。 |
|
Machine |
计算机的属性 |
|
Machine |
计算机的安全设置。 |
|
Machine |
包含有关计算机的只读信息。 |
|
Management |
托管GPU体验会在GPU驱动之上安装额外组件,比如数据中心GPU管理器(DCGM)指标用于监控。 想了解更多安装内容,请查看 aka.ms/aks/managed-gpu。 |
|
Mig |
设定用于托管MIG支持的MIG(多实例GPU)策略。 想了解更多不同策略的信息,请访问 aka.ms/aks/managed-gpu。 未指定时,默认为无。 |
|
Nvidia |
NVIDIA 专用 GPU 设置 |
|
OSDisk |
要用于代理池中的计算机的 OS 磁盘类型。 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 更多信息请参见Ephemeral OS。 |
| OSSKU |
指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022(如果 OSType 为 Windows)时 >,默认值为 Windows2019。 |
| OSType |
作系统类型。 默认值为 Linux。 |
|
Scale |
虚拟机规模集逐出策略。 驱逐政策明确了虚拟机被驱逐时to do处理方式。 默认值为“删除”。 有关驱逐的更多信息,请参见 spot 虚拟机 |
|
Scale |
虚拟机规模集优先级。 |
|
Seccomp |
指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。 |
|
Sysctl |
Linux 代理节点的 Sysctl 设置。 |
|
system |
与创建和上次修改资源相关的元数据。 |
|
Vm |
虚拟机状态。 指示基础虚拟机的当前状态。 |
|
Workload |
确定节点可以运行的工作负荷的类型。 |
AgentPoolArtifactStreamingProfile
代理池的Artifact流配置文件。
| 名称 | 类型 | 说明 |
|---|---|---|
| enabled |
boolean |
项目流式处理通过按需映像加载加快节点上容器的冷启动速度。 若要使用此功能,容器映像还必须在 ACR 上启用项目流式处理。 如果未指定,则默认值为 false。 |
AgentPoolMode
代理池的模式。 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:https://docs.microsoft.com/azure/aks/use-system-pools
| 值 | 说明 |
|---|---|
| System |
系统代理池主要用于托管关键系统 Pod,例如 CoreDNS 和 metrics-server。 系统代理池 osType 必须是 Linux。 系统代理池 VM SKU 必须至少具有 2vCPU 和 4GB 内存。 |
| User |
用户代理池主要用于托管应用程序容器。 |
| Gateway |
网关代理池专用于向容器提供静态出口 IP。 如需了解详情,请访问 https://aka.ms/aks/static-egress-gateway。 |
| ManagedSystem |
ManagedSystem 是由 AKS 管理的系统池。 该池根据集群使用情况动态扩展,并具有额外的自动监控和修复功能。 只能有一个 ManagedSystem 池,建议删除所有其他系统池以获得最佳体验。 |
| Machines |
计算机代理池专用于托管计算机。 在池级别只允许执行有限的作,例如创建和删除。 请使用计算机 API 来管理整个计算机生命周期。 |
AgentPoolSSHAccess
代理池的SSH access方法。
| 值 | 说明 |
|---|---|
| LocalUser |
可以使用私钥以本地用户身份通过 SSH 连接到该节点。 |
| Disabled |
SSH 服务将在节点上关闭。 |
| EntraId |
通过 EntraId 集成通过 SSH 连接到节点。 更多信息可以在以下位置找到 https://aka.ms/aks/ssh/aad |
AgentPoolWindowsProfile
Windows 代理池的特定配置文件。
| 名称 | 类型 | 说明 |
|---|---|---|
| disableOutboundNat |
boolean |
是否在 Windows 节点中禁用 OutboundNAT。 默认值为 false。 仅当群集 outboundType 为 NAT 网关且 Windows 代理池未启用节点公共 IP 时,才能禁用出站 NAT。 |
createdByType
创建资源的标识的类型。
| 值 | 说明 |
|---|---|
| User | |
| Application | |
| ManagedIdentity | |
| Key |
DriftAction
机器的漂移动作。 指示计算机是否由于托管集群属性的更改而偏离其预期状态,需要采取纠正措施。
| 值 | 说明 |
|---|---|
| Synced |
机器是最新的。 |
| Recreate |
机器已漂移,需要删除并重新创建。 |
DriverType
指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。
| 值 | 说明 |
|---|---|
| GRID |
安装 GPU 的 GRID 驱动程序,适用于需要虚拟化支持的应用程序。 |
| CUDA |
安装 GPU 的 CUDA 驱动程序,针对科学计算和数据密集型应用程序中的计算任务进行了优化。 |
ErrorAdditionalInfo
资源管理错误附加信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| info |
object |
附加信息。 |
| type |
string |
附加信息类型。 |
ErrorDetail
错误详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| additionalInfo |
错误附加信息。 |
|
| code |
string |
错误代码。 |
| details |
错误详细信息。 |
|
| message |
string |
错误消息。 |
| target |
string |
错误目标。 |
ErrorResponse
错误响应
| 名称 | 类型 | 说明 |
|---|---|---|
| error |
错误对象。 |
GPUDriver
是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。
| 值 | 说明 |
|---|---|
| Install |
安装驱动程序。 |
| None |
跳过驱动程序安装。 |
GPUInstanceProfile
用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。
| 值 | 说明 |
|---|---|
| MIG1g |
MIG 1g GPU 实例配置文件。 |
| MIG2g |
MIG 2G GPU 实例配置文件。 |
| MIG3g |
MIG 3G GPU 实例配置文件。 |
| MIG4g |
MIG 4G GPU 实例配置文件。 |
| MIG7g |
MIG 7g GPU 实例配置文件。 |
GPUProfile
代理池的 GPU 设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| driver |
是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。 |
|
| driverType |
指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。 |
|
| nvidia |
NVIDIA 专用的显卡设置。 |
IPFamily
确定地址属于 IPv4 还是 IPv6 系列
| 值 | 说明 |
|---|---|
| IPv4 |
IPv4 系列 |
| IPv6 |
IPv6 系列 |
IPTag
包含与对象关联的 IPTag。
| 名称 | 类型 | 说明 |
|---|---|---|
| ipTagType |
string |
IP 标记类型。 示例:RoutingPreference。 |
| tag |
string |
与公共 IP 关联的 IP 标记的值。 示例:Internet。 |
KubeletConfig
代理节点的 Kubelet 配置。 有关详细信息,请参阅 AKS 自定义节点配置。
| 名称 | 类型 | 说明 |
|---|---|---|
| allowedUnsafeSysctls |
string[] |
允许的不安全 sysctls 或不安全的 sysctl 模式列表(以结尾 |
| containerLogMaxFiles |
integer (int32) minimum: 2 |
一个容器可以存在的最大容器日志文件数。 该数字必须≥ 2。 |
| containerLogMaxSizeMB |
integer (int32) |
在轮换容器日志文件之前,容器日志文件的最大大小(例如 10Mi)。 |
| cpuCfsQuota |
boolean |
如果为指定 CPU 限制的容器启用了 CPU CFS 配额强制实施。 默认值为 true。 |
| cpuCfsQuotaPeriod |
string |
CPU CFS 配额周期值。 默认值为“100ms”。 有效值是包含可选分数和单位后缀的小数序列。 例如:“300ms”、“2h45m”。 支持的单位为“ns”、“us”、“ms”、“s”、“m”和“h”。 |
| cpuManagerPolicy |
string |
要使用的 CPU 管理器策略。 默认值为“none”。 有关详细信息,请参阅 Kubernetes CPU 管理策略 。 允许的值为“none”和“static”。 |
| failSwapOn |
boolean |
如果设置为 true,则如果在节点上启用了交换,则 Kubelet 将无法启动。 |
| imageGcHighThreshold |
integer (int32) |
磁盘使用率的百分比,之后映像垃圾回收始终运行。 如果要禁用映像垃圾回收,则设置为 100。 默认值为 85% |
| imageGcLowThreshold |
integer (int32) |
从不运行映像垃圾回收之前磁盘使用量的百分比。 这不能设置为高于 imageGcHighThreshold。 默认值为 80% |
| podMaxPids |
integer (int32) |
每个 Pod 的最大进程数。 |
| seccompDefault |
指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。 |
|
| topologyManagerPolicy |
string |
要使用的拓扑管理器策略。 有关详细信息,请参阅 Kubernetes 拓扑管理器。 默认值为“none”。 允许的值为“none”、“best-effort”、“restricted”和“single-numa-node”。 |
KubeletDiskType
确定空Dir卷、容器运行时数据根和Kubelet临时storage的放置。
| 值 | 说明 |
|---|---|
| OS |
Kubelet 将使用作系统磁盘来存储其数据。 |
| Temporary |
Kubelet 将使用临时磁盘来存储其数据。 |
LinuxOSConfig
Linux 代理节点的 OS 配置。 有关详细信息,请参阅 AKS 自定义节点配置。
| 名称 | 类型 | 说明 |
|---|---|---|
| swapFileSizeMB |
integer (int32) |
将在每个节点上创建的交换文件的大小(以 MB 为单位)。 |
| sysctls |
Linux 代理节点的 Sysctl 设置。 |
|
| transparentHugePageDefrag |
string |
内核是否应积极利用内存压缩,使更多的大页可用。 有效值为“always”、“defer”、“defer+madvise”、“madvise”和“never”。 默认值为“madvise”。 有关详细信息,请参阅 透明巨页。 |
| transparentHugePageEnabled |
string |
是否启用透明巨页。 有效值为“always”、“madvise”和“never”。 默认值为“always”。 有关详细信息,请参阅 透明巨页。 |
LocalDNSForwardDestination
要从 localDNS 转发的 DNS 查询的目标服务器。
| 值 | 说明 |
|---|---|
| ClusterCoreDNS |
将 DNS 查询从 localDNS 转发到群集 CoreDNS。 |
| VnetDNS |
将 DNS 查询从 localDNS 转发到 VNET 中配置的 DNS 服务器。 一个 VNET 可以配置多个 DNS 服务器。 |
LocalDNSForwardPolicy
用于选择上游 DNS 服务器的转发策略。 有关更多信息,请参阅 forward plugin 。
| 值 | 说明 |
|---|---|
| Sequential |
实现顺序上游 DNS 服务器选择。 有关更多信息,请参阅 forward plugin 。 |
| RoundRobin |
实现轮询上游 DNS 服务器选择。 有关更多信息,请参阅 forward plugin 。 |
| Random |
实现随机上游 DNS 服务器选择。 有关更多信息,请参阅 forward plugin 。 |
LocalDNSMode
localDNS 的启用模式。
| 值 | 说明 |
|---|---|
| Preferred |
如果当前业务流程协调程序版本支持此功能,请首选启用 localDNS。 |
| Required |
启用 localDNS。 |
| Disabled |
禁用 localDNS。 |
LocalDNSOverride
localDNS 配置文件的覆盖。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| cacheDurationInSeconds |
integer (int32) |
3600 |
缓存最大 TTL(以秒为单位)。 有关更多信息,请参阅 缓存插件 。 |
| forwardDestination | ClusterCoreDNS |
要从 localDNS 转发的 DNS 查询的目标服务器。 |
|
| forwardPolicy | Sequential |
用于选择上游 DNS 服务器的转发策略。 有关更多信息,请参阅 forward plugin 。 |
|
| maxConcurrent |
integer (int32) |
1000 |
最大并发查询数。 有关更多信息,请参阅 forward plugin 。 |
| protocol | PreferUDP |
对于从 localDNS 到上游 DNS 服务器的连接,强制执行 TCP 或首选 UDP 协议。 |
|
| queryLogging | Error |
localDNS 中 DNS 查询的日志级别。 |
|
| serveStale | Immediate |
用于提供过时数据的策略。 有关更多信息,请参阅 缓存插件 。 |
|
| serveStaleDurationInSeconds |
integer (int32) |
3600 |
提供过时的持续时间(以秒为单位)。 有关更多信息,请参阅 缓存插件 。 |
LocalDNSProfile
使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| kubeDNSOverrides |
<string,
Local |
KubeDNS 覆盖适用于来自 dnsPolicy:ClusterFirst 的 Pod 的 DNS 流量(称为 KubeDNS 流量)。 |
|
| mode | Preferred |
localDNS 的启用模式。 |
|
| state |
系统生成的 localDNS 状态。 |
||
| vnetDNSOverrides |
<string,
Local |
VnetDNS 覆盖适用于来自 dnsPolicy:default 或 kubelet 的 Pod 的 DNS 流量(称为 VnetDNS 流量)。 |
LocalDNSProtocol
对于从 localDNS 到上游 DNS 服务器的连接,强制执行 TCP 或首选 UDP 协议。
| 值 | 说明 |
|---|---|
| PreferUDP |
首选 UDP 协议用于从 localDNS 到上游 DNS 服务器的连接。 |
| ForceTCP |
对从 localDNS 到上游 DNS 服务器的连接强制执行 TCP 协议。 |
LocalDNSQueryLogging
localDNS 中 DNS 查询的日志级别。
| 值 | 说明 |
|---|---|
| Error |
在 localDNS 中启用错误日志记录。 有关更多信息,请参阅 errors 插件 。 |
| Log |
在 localDNS 中启用查询日志记录。 有关更多信息,请参阅 log 插件 。 |
LocalDNSServeStale
用于提供过时数据的策略。 有关更多信息,请参阅 缓存插件 。
| 值 | 说明 |
|---|---|
| Verify |
通过验证提供过时的数据。 首先验证源中的条目是否仍然不可用,然后再将过期的条目发送到客户端。 有关更多信息,请参阅 缓存插件 。 |
| Immediate |
立即提供过时的数据。 将过期的条目发送到客户端,然后检查该条目是否可从源获得。 有关更多信息,请参阅 缓存插件 。 |
| Disable |
禁用提供过时的数据。 |
LocalDNSState
系统生成的 localDNS 状态。
| 值 | 说明 |
|---|---|
| Enabled |
localDNS 已启用。 |
| Disabled |
localDNS 已禁用。 |
Machine
一台机器。 包含有关基础虚拟机的详细信息。 计算机可能在此处可见,但在 kubectl 获取节点中不可见;如果是这样,可能是因为计算机尚未注册到 Kubernetes API 服务器。
| 名称 | 类型 | 说明 |
|---|---|---|
| id |
string (arm-id) |
资源的完全限定资源 ID。 例如“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}” |
| name |
string |
资源的名称 |
| properties |
计算机的属性 |
|
| systemData |
Azure Resource Manager 包含 createdBy 和 modifiedBy 信息的元数据。 |
|
| type |
string |
资源类型。 例如“Microsoft.Compute/virtualMachines”或“Microsoft.Storage/storageAccounts” |
| zones |
string[] |
计算机所在的可用区。 |
MachineBillingProfile
这些属性与机器计费有关。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| spotMaxPrice |
number (float) |
-1 |
你愿意支付现成实例的最大价格(以美元为单位)。 可能的值是大于零或 -1 的任何小数值,指示要按需 up-to 的默认价格。 有关现货价格的更多详情,请参见现货虚拟机价格 |
MachineHardwareProfile
计算机的硬件和 GPU 设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| gpuInstanceProfile |
用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。 |
|
| gpuProfile |
计算机的 GPU 设置。 |
|
| ultraSsdEnabled |
boolean |
是否启用 UltraSSD |
| vmSize |
string |
VM 的大小。 VM 大小可用性因区域而异。 如果节点包含的计算资源(内存、cpu 等)Pod 不足,可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:https://docs.microsoft.com/azure/aks/quotas-skus-regions |
MachineIpAddress
计算机 IP 地址详细信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| family |
确定地址属于 IPv4 还是 IPv6 系列 |
|
| ip |
string |
本机的 IPv4 或 IPv6 地址 |
MachineKubernetesProfile
计算机使用的 Kubernetes 配置。
| 名称 | 类型 | 说明 |
|---|---|---|
| artifactStreamingProfile |
用于在 AKS 上使用项目流式传输的配置。 |
|
| currentOrchestratorVersion |
string |
计算机上运行的 Kubernetes 版本。 如果 orchestratorVersion 是完全指定的 major.minor.patch< 版本>,则此字段将完全等于它。 如果 orchestratorVersion 是 <major.minor>,则此字段将包含正在使用的完整 <major.minor.patch> 版本。 |
| kubeletConfig |
计算机上的 Kubelet 配置。 |
|
| kubeletDiskType |
确定空Dir卷、容器运行时数据根和Kubelet临时storage的放置。 |
|
| maxPods |
integer (int32) |
可在节点上运行的 Pod 的最大数目。 |
| nodeInitializationTaints |
string[] |
在创建期间在节点上添加的污点,AKS 不会对这些污点进行协调。 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 这些污点允许在节点准备好接受工作负载之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 |
| nodeLabels |
object |
计算机上的节点标签。 |
| nodeName |
string |
Kubernetes 集群中的节点名称。 |
| nodeTaints |
string[] |
在机器创建期间添加到新节点的污点。 例如,key=value:NoSchedule。 |
| orchestratorVersion |
string |
用户指定的 Kubernetes 版本。 支持修补程序版本 <major.minor.patch> 和 <major.minor> 。 指定 major.minor< 后>,会自动选择最新支持的修补程序版本。 |
| workloadRuntime |
确定节点可以运行的工作负荷的类型。 |
MachineNetworkProperties
计算机的网络属性
| 名称 | 类型 | 说明 |
|---|---|---|
| enableNodePublicIP |
boolean |
是否为计算机分配了自己的公有 IP。 某些方案可能需要计算机接收自己的专用公有 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 默认值为 false。 |
| ipAddresses |
本机的 IPv4、IPv6 地址 |
|
| nodePublicIPPrefixID |
string (arm-id) |
公共 IP 前缀 ID,VM 节点应使用其 IP。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} |
| nodePublicIPTags |
IPTag[] |
实例级公共 IP 的 IPTag。 |
| podSubnetID |
string (arm-id) |
启动时 Pod 将加入的子网的 ID。 如果省略,则会在节点子网上静态分配 Pod IP(有关详细信息,请参阅 vnetSubnetID)。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} |
| vnetSubnetID |
string (arm-id) |
节点和 Pod 在启动时将加入的子网的 ID。 如果未指定,将生成和使用 VNET 和子网。 如果未指定 podSubnetID,则这适用于节点和 Pod,否则它仅适用于节点。 此格式为:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} |
MachineOSProfile
计算机使用的作系统和磁盘。
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| enableFIPS |
boolean |
是否使用已启用 FIPS 的 OS。 |
|
| linuxProfile |
Linux 计算机的特定配置文件。 |
||
| osDiskSizeGB |
integer (int32) minimum: 0maximum: 2048 |
OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。 |
|
| osDiskType |
要用于代理池中的计算机的 OS 磁盘类型。 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 更多信息请参见Ephemeral OS。 |
||
| osSKU |
指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。 |
||
| osType | Linux |
作系统类型。 默认值为 Linux。 |
|
| windowsProfile |
Windows 计算机的特定配置文件。 |
MachineOSProfileLinuxProfile
Linux 计算机的特定配置文件。
| 名称 | 类型 | 说明 |
|---|---|---|
| linuxOSConfig |
Linux 计算机的作系统配置。 |
|
| messageOfTheDay |
string |
Linux 节点的当天消息(base64 编码)。 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 不能为Windows节点指定它。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。 |
MachineProperties
计算机的属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| billing |
这些属性与机器计费有关。 |
||
| eTag |
string |
用于实现乐观并发的唯一只读字符串。 更新资源时,eTag 值将更改。 为后续请求指定带有 eTag 值的 if-match 或 if-none-match 标头,以根据正常的 eTag 约定启用乐观并发。 |
|
| evictionPolicy | Delete |
机器的驱逐政策。 除非优先级是“Spot”,否则无法指定。 如果未指定,则默认值为“Delete”。 |
|
| hardware |
计算机的硬件和 GPU 设置。 |
||
| kubernetes |
计算机使用的 Kubernetes 配置。 |
||
| localDNSProfile |
使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。 |
||
| mode |
机器只允许 'System' 和 'User' 模式。 |
||
| network |
计算机的网络属性 |
||
| nodeImageVersion |
string |
节点映像的版本。 |
|
| operatingSystem |
计算机使用的作系统和磁盘。 |
||
| priority | Regular |
计算机的优先级。 如果未指定,则默认值为“Regular”。 |
|
| provisioningState |
string |
当前部署或预配状态。 |
|
| resourceId |
string (arm-id) |
计算机的 Azure 资源 ID。 它可用于获取底层虚拟机实例 |
|
| security |
计算机的安全设置。 |
||
| status |
包含有关计算机的只读信息。 |
||
| tags |
object |
要保留在计算机上的标记。 |
MachineSecurityProfile
计算机的安全设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| enableEncryptionAtHost |
boolean |
是否启用基于主机的 OS 和数据驱动器加密。 这只支持某些虚拟机规模和某些 Azure 区域。 有关详细信息,请参阅: https://docs.microsoft.com/azure/aks/enable-host-encryption |
| enableSecureBoot |
boolean |
安全启动是受信任的启动的一项功能,可确保只有已签名的作系统和驱动程序才能启动。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 |
| enableVTPM |
boolean |
vTPM 是一项受信任的启动功能,用于为节点上本地保留的密钥和度量配置专用安全保管库。 有关详细信息,请参阅 aka.ms/aks/trustedlaunch。 如果未指定,则默认值为 false。 |
| sshAccess |
代理池的SSH access方法。 |
MachineStatus
包含有关计算机的只读信息。
| 名称 | 类型 | 说明 |
|---|---|---|
| creationTimestamp |
string (date-time) |
指定创建计算机的时间。 |
| driftAction |
机器的漂移动作。 指示计算机是否由于托管集群属性的更改而偏离其预期状态,需要采取纠正措施。 |
|
| driftReason |
string |
机器漂移的原因。 提供有关机器漂移原因的详细信息。 如果机器是最新的,则省略此字段。 |
| provisioningError |
错误详细说明了本机的信息。 保留失败的详细信息。 如果没有错误,则省略此字段。 |
|
| vmState |
虚拟机状态。 指示基础虚拟机的当前状态。 |
ManagementMode
托管GPU体验会在GPU驱动之上安装额外组件,比如数据中心GPU管理器(DCGM)指标用于监控。 想了解更多安装内容,请查看 aka.ms/aks/managed-gpu。
| 值 | 说明 |
|---|---|
| Unmanaged |
NVIDIA GPU的托管GPU体验被禁用了。 |
| Managed |
NVIDIA GPU已启用托管GPU体验。 |
MigStrategy
设定用于托管MIG支持的MIG(多实例GPU)策略。 想了解更多不同策略的信息,请访问 aka.ms/aks/managed-gpu。 未指定时,默认为无。
| 值 | 说明 |
|---|---|
| None |
不要设定MIG战略。 如果你之前有一个集合,这个方法会覆盖它并移除MIG策略。 |
| Single |
将MIG管理的策略设置为单一。 |
| Mixed |
将管理MIG的MIG策略设置为混合。 |
NvidiaGPUProfile
NVIDIA 专用 GPU 设置
| 名称 | 类型 | 说明 |
|---|---|---|
| managementMode |
托管GPU体验会在GPU驱动之上安装额外组件,比如数据中心GPU管理器(DCGM)指标用于监控。 想了解更多安装内容,请查看 aka.ms/aks/managed-gpu。 |
|
| migStrategy |
设定用于托管MIG支持的MIG(多实例GPU)策略。 想了解更多不同策略的信息,请访问 aka.ms/aks/managed-gpu。 未指定时,默认为无。 |
OSDiskType
要用于代理池中的计算机的 OS 磁盘类型。 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 更多信息请参见Ephemeral OS。
| 值 | 说明 |
|---|---|
| Managed |
Azure 将虚拟机的作系统磁盘复制到 Azure 存储,以避免在需要将 VM 重新定位到另一台主机时丢失数据。 由于容器未设计为保留本地状态,因此此行为提供有限的值,同时提供一些缺点,包括节点预配速度较慢以及读取/写入延迟较高。 |
| Ephemeral |
临时 OS 磁盘仅存储在主机上,就像临时磁盘一样。 这样可以降低读取/写入延迟,以及更快的节点缩放和群集升级。 |
OSSKU
指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022(如果 OSType 为 Windows)时 >,默认值为 Windows2019。
| 值 | 说明 |
|---|---|
| Ubuntu |
将 Ubuntu 用作节点映像的 OS。 |
| AzureLinux |
将 AzureLinux 用作节点映像的 OS。 Azure Linux 是由 Microsoft 生成的容器优化的 Linux 发行版,有关详细信息,请访问 https://aka.ms/azurelinux。 |
| AzureLinux3 |
使用 AzureLinux3 作为节点映像的 OS。 Azure Linux 是由 Microsoft 生成的容器优化的 Linux 发行版,有关详细信息,请访问 https://aka.ms/azurelinux。 有关限制,请访问 https://aka.ms/aks/node-images。 有关作系统迁移指南,请参阅 https://aka.ms/aks/upgrade-os-version。 |
| Mariner |
弃用的 OSSKU。 Microsoft建议新部署改为选择“AzureLinux”。 |
| Flatcar |
使用 Flatcar Container Linux 作为节点映像的作系统。 Flatcar 是一个容器优化、注重安全的 Linux作系统,具有不可变的文件系统和云原生计算基金会 (CNCF) 的一部分。 有关适用于 AKS 的 Flatcar 容器 Linux 的详细信息,请参阅 aka.ms/aks/flatcar-container-linux-for-aks |
| CBLMariner |
弃用的 OSSKU。 Microsoft建议新部署改为选择“AzureLinux”。 |
| Windows2019 |
将 Windows2019 用作节点映像的 OS。 系统节点池不支持。 Windows2019 仅支持 Windows2019 容器;它无法运行 Windows2022 容器,反之亦然。 |
| Windows2022 |
将 Windows2022 用作节点映像的 OS。 系统节点池不支持。 Windows2022 仅支持 Windows2022 容器;它无法运行 Windows2019 容器,反之亦然。 |
| Ubuntu2204 |
使用 Ubuntu2204 作为节点映像的作系统,但是,并非所有节点池都支持 Ubuntu 22.04。 有关限制和支持的 Kubernetes 版本,请参阅 https://aka.ms/aks/supported-ubuntu-versions |
| Windows2025 |
使用 Windows2025 作为节点映像的作系统。 系统节点池不支持。 Windows2025 支持 Windows2022 和 Windows 2025 容器;它无法运行 Windows2019 容器,反之亦然。 |
| WindowsAnnual |
将 Windows 年度频道版本用作节点映像的 OS。 系统节点池不支持。 有关不同 AKS 年度频道版本下支持的容器映像和 kubernetes 版本的详细信息,请参阅 https://aka.ms/aks/windows-annual-channel-details。 |
| Ubuntu2404 |
使用 Ubuntu2404 作为节点映像的作系统,但是,并非所有节点池都支持 Ubuntu 24.04。 有关限制和支持的 kubernetes 版本,请参阅 https://aka.ms/aks/supported-ubuntu-versions |
OSType
作系统类型。 默认值为 Linux。
| 值 | 说明 |
|---|---|
| Linux |
使用 Linux。 |
| Windows |
使用 Windows。 |
ScaleSetEvictionPolicy
虚拟机规模集逐出策略。 驱逐政策明确了虚拟机被驱逐时to do处理方式。 默认值为“删除”。 有关驱逐的更多信息,请参见 spot 虚拟机
| 值 | 说明 |
|---|---|
| Delete |
逐出节点池的基础规模集中的节点在逐出时将被删除。 |
| Deallocate |
节点池的基础规模集中的节点在逐出时设置为已停止-已释放状态。 针对计算配额的已停止解除分配状态计数中的节点,并可能导致群集缩放或升级出现问题。 |
ScaleSetPriority
虚拟机规模集优先级。
| 值 | 说明 |
|---|---|
| Spot |
将使用现成优先级虚拟机。 没有现成节点的 SLA。 有关详细信息,请参阅 AKS 上的 |
| Regular |
将使用常规 VM。 |
SeccompDefault
指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。
| 值 | 说明 |
|---|---|
| Unconfined |
不应用 seccomp 配置文件,允许所有系统调用。 |
| RuntimeDefault |
应用容器运行时的默认 seccomp 配置文件,该配置文件限制某些系统调用以增强安全性。 |
SysctlConfig
Linux 代理节点的 Sysctl 设置。
| 名称 | 类型 | 说明 |
|---|---|---|
| fsAioMaxNr |
integer (int32) |
Sysctl 设置 fs.aio-max-nr。 |
| fsFileMax |
integer (int32) |
Sysctl 设置 fs.file-max。 |
| fsInotifyMaxUserWatches |
integer (int32) |
Sysctl 设置 fs.inotify.max_user_watches。 |
| fsNrOpen |
integer (int32) |
Sysctl 设置fs.nr_open。 |
| kernelThreadsMax |
integer (int32) |
Sysctl 设置 kernel.threads-max。 |
| netCoreNetdevMaxBacklog |
integer (int32) |
Sysctl 设置net.core.netdev_max_backlog。 |
| netCoreOptmemMax |
integer (int32) |
Sysctl 设置net.core.optmem_max。 |
| netCoreRmemDefault |
integer (int32) |
Sysctl 设置net.core.rmem_default。 |
| netCoreRmemMax |
integer (int32) |
Sysctl 设置net.core.rmem_max。 |
| netCoreSomaxconn |
integer (int32) |
Sysctl 设置 net.core.somaxconn。 |
| netCoreWmemDefault |
integer (int32) |
Sysctl 设置net.core.wmem_default。 |
| netCoreWmemMax |
integer (int32) |
Sysctl 设置net.core.wmem_max。 |
| netIpv4IpLocalPortRange |
string |
Sysctl 设置net.ipv4.ip_local_port_range。 |
| netIpv4NeighDefaultGcThresh1 |
integer (int32) |
Sysctl 设置net.ipv4.neigh.default.gc_thresh1。 |
| netIpv4NeighDefaultGcThresh2 |
integer (int32) |
Sysctl 设置net.ipv4.neigh.default.gc_thresh2。 |
| netIpv4NeighDefaultGcThresh3 |
integer (int32) |
Sysctl 设置net.ipv4.neigh.default.gc_thresh3。 |
| netIpv4TcpFinTimeout |
integer (int32) |
Sysctl 设置net.ipv4.tcp_fin_timeout。 |
| netIpv4TcpKeepaliveProbes |
integer (int32) |
Sysctl 设置net.ipv4.tcp_keepalive_probes。 |
| netIpv4TcpKeepaliveTime |
integer (int32) |
Sysctl 设置net.ipv4.tcp_keepalive_time。 |
| netIpv4TcpMaxSynBacklog |
integer (int32) |
Sysctl 设置net.ipv4.tcp_max_syn_backlog。 |
| netIpv4TcpMaxTwBuckets |
integer (int32) |
Sysctl 设置net.ipv4.tcp_max_tw_buckets。 |
| netIpv4TcpTwReuse |
boolean |
Sysctl 设置net.ipv4.tcp_tw_reuse。 |
| netIpv4TcpkeepaliveIntvl |
integer (int32) minimum: 10maximum: 90 |
Sysctl 设置net.ipv4.tcp_keepalive_intvl。 |
| netNetfilterNfConntrackBuckets |
integer (int32) minimum: 65536maximum: 524288 |
Sysctl 设置net.netfilter.nf_conntrack_buckets。 |
| netNetfilterNfConntrackMax |
integer (int32) minimum: 131072maximum: 2097152 |
Sysctl 设置net.netfilter.nf_conntrack_max。 |
| vmMaxMapCount |
integer (int32) |
Sysctl 设置 vm.max_map_count。 |
| vmSwappiness |
integer (int32) |
Sysctl 设置 vm.swappiness。 |
| vmVfsCachePressure |
integer (int32) |
Sysctl 设置vm.vfs_cache_pressure。 |
systemData
与创建和上次修改资源相关的元数据。
| 名称 | 类型 | 说明 |
|---|---|---|
| createdAt |
string (date-time) |
资源创建时间戳(UTC)。 |
| createdBy |
string |
创建资源的标识。 |
| createdByType |
创建资源的标识的类型。 |
|
| lastModifiedAt |
string (date-time) |
上次修改的资源时间戳(UTC) |
| lastModifiedBy |
string |
上次修改资源的标识。 |
| lastModifiedByType |
上次修改资源的标识的类型。 |
VmState
虚拟机状态。 指示基础虚拟机的当前状态。
| 值 | 说明 |
|---|---|
| Running |
虚拟机当前正在运行。 |
| Deleted |
虚拟机已被用户删除或由于现成驱逐而删除。 |
WorkloadRuntime
确定节点可以运行的工作负荷的类型。
| 值 | 说明 |
|---|---|
| OCIContainer |
节点将使用 Kubelet 运行标准 OCI 容器工作负荷。 |
| WasmWasi |
节点将使用 Krustlet 通过 WASI 提供程序运行 WASM 工作负荷(预览版)。 |
| KataMshvVmIsolation |
节点可以使用(Kata + 云虚拟机监控程序 + Hyper-V)来启用基于嵌套的 VM 的 Pod(预览版)。 由于使用 Hyper-V,AKS 节点 OS 本身是 Hyper-V 的嵌套 VM(根 OS)。 因此,它只能与支持嵌套虚拟化(如 Dv3 系列)的 VM 系列一起使用。 此命名约定将在将来的版本中弃用,取而代之的是 KataVmIsolation。 |
| KataVmIsolation |
节点可以使用 (Kata + Cloud Hypervisor + Hyper-V) 来启用基于嵌套虚拟机的 Pod。 由于使用 Hyper-V,AKS 节点 OS 本身是 Hyper-V 的嵌套 VM(根 OS)。 因此,它只能与支持嵌套虚拟化(如 Dv3 系列)的 VM 系列一起使用。 |