Azure Kubernetes 服务(AKS)的虚拟机(VM)大小、代系和功能

Azure Kubernetes 服务(AKS)支持各种虚拟机(VM)大小、代系和功能,以满足不同的工作负载和性能要求。 本文概述了 AKS 的可用 VM 大小和代系、如何检查区域中的可用 VM 大小、某些 VM 大小可能不可用的原因以及 VM 大小停用时会发生什么情况。

AKS 上的 VM 支持

Azure 支持第 1 代(第 1 代)和第 2 代(第 2 代)虚拟机(VM)。 除了一些 例外情况,我们通常建议 迁移到第 2 代 VM ,以利用 Azure VM 中的最新特性和功能。

创建 AKS 节点池时选择的 VM 大小和操作系统(OS)决定了使用的虚拟机代系和 节点映像。 检查 受支持的大小列表 ,查看 SKU 是否支持或是否需要 Gen 2。

局限性

选择 VM 生成和/或 OS 时,需要考虑一些限制:

  • 只能在支持第 2 代的 VM 大小上启用可信启动。
  • 机密 VM 大小始终在 AKS 上使用第 2 代。
  • Arm64 VM 规格在 AKS 上始终使用第二代。
  • Windows Server 2019 节点池不支持第 2 代 VM 大小。
  • Windows Server 2022 节点池需要使用自定义标头才能使用 Gen 2。

若要在 AKS 上使用第 2 代 VM,请参阅 使用第 2 代 VM

可用的 VM 功能

AKS 支持各种 VM 功能,这些功能可增强安全性、性能和功能。 一些关键功能包括:

  • 节点自动预配(NAP) 使用待决的 Pod 资源需求来决定最佳的 VM 配置,从而高效且经济地运行您的工作负载。
  • 虚拟机节点池 为动态工作负荷和高可用性要求提供更好的体验。 使用虚拟机节点池可以在单个节点池中设置多个类似系列 VM。 工作负荷会自动根据配置的可用资源进行计划。

支持的 VM 大小

有关 Azure 中可用的 VM 大小的深入信息,请参阅 Azure VM 大小。 若要查看受支持的第 2 代 VM 大小,请参阅 第 2 代 VM 大小

AKS 还支持以下 VM 类型和功能:

支持的 VM 大小的默认行为

创建具有受支持 VM 大小的节点池时,有三种情况:

  • 如果 VM 大小仅支持第 1 代,则 Linux 和 Windows 节点池的默认行为是使用第 1 代节点映像。
  • 如果 VM 大小仅支持第 2 代,则 Linux 和 Windows 节点池的默认行为是使用第 2 代节点映像。 Windows Server 2022 节点池需要自定义标头才能使用仅支持第 2 代的 VM 大小。 有关详细信息,请参阅 使用第 2 代 VM 创建 Windows 节点池
  • 如果 VM 大小同时支持第 1 代和第 2 代,则 Linux 和 Windows(在 Windows Server 2025+)节点池中的默认行为是使用第 2 代节点映像。 若要使用适用于 Windows Server 2022 的第 2 代节点映像,请参阅 使用第 2 代 VM 创建 Windows 节点池

检查可用的 VM 大小

使用 az vm list-skus 命令检查可用的 VM 大小。

az vm list-skus --location <your-location> --output table

为什么某些 VM 大小可能不可用

某些 VM 大小可能不可用的原因有多种,包括:

  • 配额限制:所有 Azure 服务都为资源和功能设置默认限制和配额。 有关详细信息,请参阅以下资源:

    注释

    • 对于 用户节点池,默认情况下可能不会使用 少于两个 vCPU 和两 GB 内存(RAM)的 VM 大小。
    • 对于 系统节点池,默认情况下可能不会使用 少于两个 vCPU 和四 GB 内存(RAM)的 VM 大小。 为了确保能够可靠地计划所需的 kube-system Pod 和应用程序,我们建议 不要使用任何 B 系列 VMAv1 系列 VM
  • 预览版中的 VM 大小:如果尚未为 VM 大小注册预览标志,则预览版中的 VM 大小可能不可用。

  • AKS 阻止:某些 VM 大小在 AKS 中默认不可用。 这些大小可能需要额外的测试或验证,以确保与 AKS 的兼容性。 如果需要不在您可用范围内的特定 VM 大小,可以提交 GitHub 请求

请确保了解工作负载需要哪些功能,并选择满足这些要求的 VM 大小。 更高版本的 VM 版本通常具有更好的性能和改进的功能。 例如, 第 2 代 VM 比第 1 代 VM 提高了安全性和性能优势。

VM 大小停用时会发生什么情况?

当 VM 大小或系列达到其停用日期时,将解除分配 VM。 VM 解除分配会导致 AKS 节点池中断。 若要查看 VM 大小的停用状态,请参阅 已停用的 Azure VM 大小系列 或在 Azure 更新中执行搜索。 若要检查节点池的 VM 大小,请使用 [az aks nodepool list][az-aks-nodepool-list] 命令并查询 vmSize 属性:

az aks nodepool list --resource-group <your-resource-group> --cluster-name <your-cluster-name> --query "[].{Name:name, VMSize:vmSize}" --output table

如果使用已停用/停用的 VM 大小,建议 将节点池迁移到受支持的 VM 大小 ,以防止对服务造成任何潜在中断。 目前,AKS 不支持 转换到同一节点池中的新 VM 大小。

将节点池迁移到受支持的 VM 大小

确定好要操作的节点池后,可以调整节点池。 在调整大小过程中,将创建新的节点池,并将工作负荷迁移到新的节点池。

有关迁移到新 VM 大小的详细信息,请参阅以下资源:

Azure Kubernetes Service (AKS) 上的第二代虚拟机

第 2 代 VM 通常是 Azure 的较新产品/服务,在第 1 代 VM 上具有独占功能,例如增加内存、提高 CPU 性能、对 NVMe 磁盘的支持以及 对受信任的启动的支持。

虽然我们通常建议运行第 2 代 VM,但应确保所选的代系支持你的要求。 若要详细了解各代之间的差异,以及何时可能比另一代更有意义,请参阅 是否应在 Hyper-V 中创建第 1 代或 2 代 VM?

若要在 AKS 上使用第 2 代 VM,请参阅 在 AKS 上使用第 2 代 VM

后续步骤