通过


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

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 参数

名称 必需 类型 说明
agentPoolName
path True

string

minLength: 1
maxLength: 12
pattern: ^[a-z][a-z0-9]{0,11}$

代理池的名称。

machineName
path True

string

pattern: ^[a-z][a-z0-9]{0,11}$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,39}$

计算机的主机名。

resourceGroupName
path True

string

minLength: 1
maxLength: 90

资源组的名称。 此名称不区分大小写。

resourceName
path True

string

minLength: 1
maxLength: 63
pattern: ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$

托管集群资源的名称。

subscriptionId
path True

string (uuid)

目标订阅的 ID。 该值必须是 UUID。

api-version
query True

string

minLength: 1

用于此作的 API 版本。

请求头

名称 必需 类型 说明
if-match

string

仅当实体与此字符串匹配时,请求才应继续。

if-none-match

string

仅当没有实体与此字符串匹配时,请求才应继续。

请求正文

名称 类型 说明
properties

MachineProperties

计算机的属性

响应

名称 类型 说明
200 OK

Machine

资源“机器”更新作成功

201 Created

Machine

资源“机器”创建作成功

标头

  • Azure-AsyncOperation: string
  • Retry-After: integer
Other Status Codes

ErrorResponse

意外错误响应。

安全性

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"
  ]
}

定义

名称 说明
AgentPoolArtifactStreamingProfile

代理池的Artifact流配置文件。

AgentPoolMode

代理池的模式。 群集必须随时至少有一个“系统”代理池。 有关代理池限制和最佳做法的其他信息,请参阅:https://docs.microsoft.com/azure/aks/use-system-pools

AgentPoolSSHAccess

代理池的SSH access方法。

AgentPoolWindowsProfile

Windows 代理池的特定配置文件。

createdByType

创建资源的标识的类型。

DriftAction

机器的漂移动作。 指示计算机是否由于托管集群属性的更改而偏离其预期状态,需要采取纠正措施。

DriverType

指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。

ErrorAdditionalInfo

资源管理错误附加信息。

ErrorDetail

错误详细信息。

ErrorResponse

错误响应

GPUDriver

是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。

GPUInstanceProfile

用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。

GPUProfile

代理池的 GPU 设置。

IPFamily

确定地址属于 IPv4 还是 IPv6 系列

IPTag

包含与对象关联的 IPTag。

KubeletConfig

代理节点的 Kubelet 配置。 有关详细信息,请参阅 AKS 自定义节点配置

KubeletDiskType

确定空Dir卷、容器运行时数据根和Kubelet临时storage的放置。

LinuxOSConfig

Linux 代理节点的 OS 配置。 有关详细信息,请参阅 AKS 自定义节点配置

LocalDNSForwardDestination

要从 localDNS 转发的 DNS 查询的目标服务器。

LocalDNSForwardPolicy

用于选择上游 DNS 服务器的转发策略。 有关更多信息,请参阅 forward plugin

LocalDNSMode

localDNS 的启用模式。

LocalDNSOverride

localDNS 配置文件的覆盖。

LocalDNSProfile

使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。

LocalDNSProtocol

对于从 localDNS 到上游 DNS 服务器的连接,强制执行 TCP 或首选 UDP 协议。

LocalDNSQueryLogging

localDNS 中 DNS 查询的日志级别。

LocalDNSServeStale

用于提供过时数据的策略。 有关更多信息,请参阅 缓存插件

LocalDNSState

系统生成的 localDNS 状态。

Machine

一台机器。 包含有关基础虚拟机的详细信息。 计算机可能在此处可见,但在 kubectl 获取节点中不可见;如果是这样,可能是因为计算机尚未注册到 Kubernetes API 服务器。

MachineBillingProfile

这些属性与机器计费有关。

MachineHardwareProfile

计算机的硬件和 GPU 设置。

MachineIpAddress

计算机 IP 地址详细信息。

MachineKubernetesProfile

计算机使用的 Kubernetes 配置。

MachineNetworkProperties

计算机的网络属性

MachineOSProfile

计算机使用的作系统和磁盘。

MachineOSProfileLinuxProfile

Linux 计算机的特定配置文件。

MachineProperties

计算机的属性

MachineSecurityProfile

计算机的安全设置。

MachineStatus

包含有关计算机的只读信息。

ManagementMode

托管GPU体验会在GPU驱动之上安装额外组件,比如数据中心GPU管理器(DCGM)指标用于监控。 想了解更多安装内容,请查看 aka.ms/aks/managed-gpu。

MigStrategy

设定用于托管MIG支持的MIG(多实例GPU)策略。 想了解更多不同策略的信息,请访问 aka.ms/aks/managed-gpu。 未指定时,默认为无。

NvidiaGPUProfile

NVIDIA 专用 GPU 设置

OSDiskType

要用于代理池中的计算机的 OS 磁盘类型。 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 更多信息请参见Ephemeral OS

OSSKU

指定代理池使用的 OS SKU。 如果 OSType 为 Linux,则默认值为 Ubuntu。 当 Kubernetes <= 1.24 或 Windows2022(如果 OSType 为 Windows)时 >,默认值为 Windows2019。

OSType

作系统类型。 默认值为 Linux。

ScaleSetEvictionPolicy

虚拟机规模集逐出策略。 驱逐政策明确了虚拟机被驱逐时to do处理方式。 默认值为“删除”。 有关驱逐的更多信息,请参见 spot 虚拟机

ScaleSetPriority

虚拟机规模集优先级。

SeccompDefault

指定应用于所有工作负荷的默认 seccomp 配置文件。 如果未指定,则默认使用“未完成”。

SysctlConfig

Linux 代理节点的 Sysctl 设置。

systemData

与创建和上次修改资源相关的元数据。

VmState

虚拟机状态。 指示基础虚拟机的当前状态。

WorkloadRuntime

确定节点可以运行的工作负荷的类型。

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

ErrorAdditionalInfo[]

错误附加信息。

code

string

错误代码。

details

ErrorDetail[]

错误详细信息。

message

string

错误消息。

target

string

错误目标。

ErrorResponse

错误响应

名称 类型 说明
error

ErrorDetail

错误对象。

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

GPUDriver

是否安装 GPU 驱动程序。 如果未指定,则默认为“安装”。

driverType

DriverType

指定要在创建 Windows 代理池时安装的 GPU 驱动程序的类型。 如果未提供,AKS 会根据系统兼容性选择驱动程序。 创建 AgentPool 后,无法更改此更改。 这不能在 Linux AgentPools 上设置。 对于 Linux AgentPools,根据系统兼容性选择驱动程序。

nvidia

NvidiaGPUProfile

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

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

SysctlConfig

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

LocalDNSForwardDestination

ClusterCoreDNS

要从 localDNS 转发的 DNS 查询的目标服务器。

forwardPolicy

LocalDNSForwardPolicy

Sequential

用于选择上游 DNS 服务器的转发策略。 有关更多信息,请参阅 forward plugin

maxConcurrent

integer (int32)

1000

最大并发查询数。 有关更多信息,请参阅 forward plugin

protocol

LocalDNSProtocol

PreferUDP

对于从 localDNS 到上游 DNS 服务器的连接,强制执行 TCP 或首选 UDP 协议。

queryLogging

LocalDNSQueryLogging

Error

localDNS 中 DNS 查询的日志级别。

serveStale

LocalDNSServeStale

Immediate

用于提供过时数据的策略。 有关更多信息,请参阅 缓存插件

serveStaleDurationInSeconds

integer (int32)

3600

提供过时的持续时间(以秒为单位)。 有关更多信息,请参阅 缓存插件

LocalDNSProfile

使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。

名称 类型 默认值 说明
kubeDNSOverrides

<string,  LocalDNSOverride>

KubeDNS 覆盖适用于来自 dnsPolicy:ClusterFirst 的 Pod 的 DNS 流量(称为 KubeDNS 流量)。

mode

LocalDNSMode

Preferred

localDNS 的启用模式。

state

LocalDNSState

系统生成的 localDNS 状态。

vnetDNSOverrides

<string,  LocalDNSOverride>

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

MachineProperties

计算机的属性

systemData

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

GPUInstanceProfile

用于为支持的 GPU VM SKU 指定 GPU MIG 实例配置文件的 GPUInstanceProfile。

gpuProfile

GPUProfile

计算机的 GPU 设置。

ultraSsdEnabled

boolean

是否启用 UltraSSD

vmSize

string

VM 的大小。 VM 大小可用性因区域而异。 如果节点包含的计算资源(内存、cpu 等)Pod 不足,可能无法正常运行。 有关受限 VM 大小的更多详细信息,请参阅:https://docs.microsoft.com/azure/aks/quotas-skus-regions

MachineIpAddress

计算机 IP 地址详细信息。

名称 类型 说明
family

IPFamily

确定地址属于 IPv4 还是 IPv6 系列

ip

string

本机的 IPv4 或 IPv6 地址

MachineKubernetesProfile

计算机使用的 Kubernetes 配置。

名称 类型 说明
artifactStreamingProfile

AgentPoolArtifactStreamingProfile

用于在 AKS 上使用项目流式传输的配置。

currentOrchestratorVersion

string

计算机上运行的 Kubernetes 版本。 如果 orchestratorVersion 是完全指定的 major.minor.patch< 版本>,则此字段将完全等于它。 如果 orchestratorVersion 是 <major.minor>,则此字段将包含正在使用的完整 <major.minor.patch> 版本。

kubeletConfig

KubeletConfig

计算机上的 Kubelet 配置。

kubeletDiskType

KubeletDiskType

确定空Dir卷、容器运行时数据根和Kubelet临时storage的放置。

maxPods

integer (int32)

可在节点上运行的 Pod 的最大数目。

nodeInitializationTaints

string[]

在创建期间在节点上添加的污点,AKS 不会对这些污点进行协调。 这些污点不会被 AKS 协调,并且可以通过 kubectl 调用删除。 这些污点允许在节点准备好接受工作负载之前运行所需的配置,例如“key1=value1:NoSchedule”,然后可以使用 kubectl taint nodes node1 key1=value1:NoSchedule-

nodeLabels

object

计算机上的节点标签。

nodeName

string

Kubernetes 集群中的节点名称。

nodeTaints

string[]

在机器创建期间添加到新节点的污点。 例如,key=value:NoSchedule。

orchestratorVersion

string

用户指定的 Kubernetes 版本。 支持修补程序版本 <major.minor.patch> 和 <major.minor> 。 指定 major.minor< 后>,会自动选择最新支持的修补程序版本。

workloadRuntime

WorkloadRuntime

确定节点可以运行的工作负荷的类型。

MachineNetworkProperties

计算机的网络属性

名称 类型 说明
enableNodePublicIP

boolean

是否为计算机分配了自己的公有 IP。 某些方案可能需要计算机接收自己的专用公有 IP 地址。 游戏工作负载就是一种常见方案,此时控制台需要直接连接到云虚拟机才能尽量减少画面跳跃。 默认值为 false。

ipAddresses

MachineIpAddress[]

本机的 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

MachineOSProfileLinuxProfile

Linux 计算机的特定配置文件。

osDiskSizeGB

integer (int32)

minimum: 0
maximum: 2048

OS 磁盘大小(以 GB 为单位)用于为主/代理池中的每个计算机指定磁盘大小。 如果指定 0,它将根据指定的 vmSize 应用默认 osDisk 大小。

osDiskType

OSDiskType

要用于代理池中的计算机的 OS 磁盘类型。 如果 VM 支持该 VM 并且缓存磁盘大于请求的 OSDiskSizeGB,则默认值为“临时”。 否则,默认为“Managed”。 创建后可能不会更改。 更多信息请参见Ephemeral OS

osSKU

OSSKU

指定代理池使用的 OS SKU。 如果未指定,则默认值为 Ubuntu(如果 OSType=Linux)或 Windows2019(如果 OSType=Windows)。 在 Windows2019 弃用后,默认的 Windows OSSKU 将更改为 Windows2022。

osType

OSType

Linux

作系统类型。 默认值为 Linux。

windowsProfile

AgentPoolWindowsProfile

Windows 计算机的特定配置文件。

MachineOSProfileLinuxProfile

Linux 计算机的特定配置文件。

名称 类型 说明
linuxOSConfig

LinuxOSConfig

Linux 计算机的作系统配置。

messageOfTheDay

string

Linux 节点的当天消息(base64 编码)。 一个 base64 编码的字符串,将在解码后写入 /etc/motd。 这允许自定义 Linux 节点当天的消息。 不能为Windows节点指定它。 它必须是静态字符串(即,将打印为原始字符串,而不是作为脚本执行)。

MachineProperties

计算机的属性

名称 类型 默认值 说明
billing

MachineBillingProfile

这些属性与机器计费有关。

eTag

string

用于实现乐观并发的唯一只读字符串。 更新资源时,eTag 值将更改。 为后续请求指定带有 eTag 值的 if-match 或 if-none-match 标头,以根据正常的 eTag 约定启用乐观并发。

evictionPolicy

ScaleSetEvictionPolicy

Delete

机器的驱逐政策。 除非优先级是“Spot”,否则无法指定。 如果未指定,则默认值为“Delete”。

hardware

MachineHardwareProfile

计算机的硬件和 GPU 设置。

kubernetes

MachineKubernetesProfile

计算机使用的 Kubernetes 配置。

localDNSProfile

LocalDNSProfile

使用 VnetDNS 和 KubeDNS 覆盖配置每个节点的本地 DNS。 LocalDNS 有助于提高 AKS 群集中 DNS 解析的性能和可靠性。 有关更多详细信息,请参阅 aka.ms/aks/localdns。

mode

AgentPoolMode

机器只允许 'System' 和 'User' 模式。

network

MachineNetworkProperties

计算机的网络属性

nodeImageVersion

string

节点映像的版本。

operatingSystem

MachineOSProfile

计算机使用的作系统和磁盘。

priority

ScaleSetPriority

Regular

计算机的优先级。 如果未指定,则默认值为“Regular”。

provisioningState

string

当前部署或预配状态。

resourceId

string (arm-id)

计算机的 Azure 资源 ID。 它可用于获取底层虚拟机实例

security

MachineSecurityProfile

计算机的安全设置。

status

MachineStatus

包含有关计算机的只读信息。

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

AgentPoolSSHAccess

代理池的SSH access方法。

MachineStatus

包含有关计算机的只读信息。

名称 类型 说明
creationTimestamp

string (date-time)

指定创建计算机的时间。

driftAction

DriftAction

机器的漂移动作。 指示计算机是否由于托管集群属性的更改而偏离其预期状态,需要采取纠正措施。

driftReason

string

机器漂移的原因。 提供有关机器漂移原因的详细信息。 如果机器是最新的,则省略此字段。

provisioningError

ErrorDetail

错误详细说明了本机的信息。 保留失败的详细信息。 如果没有错误,则省略此字段。

vmState

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

ManagementMode

托管GPU体验会在GPU驱动之上安装额外组件,比如数据中心GPU管理器(DCGM)指标用于监控。 想了解更多安装内容,请查看 aka.ms/aks/managed-gpu。

migStrategy

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: 10
maximum: 90

Sysctl 设置net.ipv4.tcp_keepalive_intvl。

netNetfilterNfConntrackBuckets

integer (int32)

minimum: 65536
maximum: 524288

Sysctl 设置net.netfilter.nf_conntrack_buckets。

netNetfilterNfConntrackMax

integer (int32)

minimum: 131072
maximum: 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

createdByType

创建资源的标识的类型。

lastModifiedAt

string (date-time)

上次修改的资源时间戳(UTC)

lastModifiedBy

string

上次修改资源的标识。

lastModifiedByType

createdByType

上次修改资源的标识的类型。

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 系列一起使用。