Azure Kubernetes 服务(AKS)中的节点自动预配(NAP)概述

本文概述了 Azure Kubernetes 服务(AKS)中的节点自动预配(NAP),包括其工作原理、升级行为、先决条件、限制和资源。

什么是 AKS 中的节点自动预配?

将工作负荷部署到 AKS 时,需要选择适当的虚拟机(VM)大小作为节点池配置的一部分。 随着工作负荷变得更加复杂,可能具有不同资源要求的不同工作负载,这使得为大量资源请求设计 VM 配置变得更加困难。

节点自动预配(NAP)通过自动预配和管理工作负载的最佳 VM 配置,简化了此过程。 NAP 使用待处理的 Pod 资源需求来决定最佳虚拟机配置,以最高效和最具成本效益的方式运行工作负荷。

NAP 会自动在 AKS 群集上部署、配置和管理 Karpenter,并基于开源 KarpenterAKS Karpenter 提供程序 项目。

节点自动预配的工作原理是什么?

节点自动预配、伸缩和管理群集中的 VM(节点),以应对未决 Pod 的压力。

节点自动预配的关键组件

NAP 使用以下关键组件来帮助管理群集的节点:

组件 Description
NodePoolAKSNodeClass 你创建和管理的自定义资源定义(CRD)用于定义工作负载的节点预配策略、VM 规范和约束。
NodeClaims 由 NAP 管理,表示可以监视的预配节点的当前状态。
工作负荷资源要求 Pod、部署、作业和其他 Kubernetes 资源中的 CPU、内存及其他规范是预配决策的依据。

适用于节点自动预配的 Kubernetes 升级行为

节点自动预配节点的 Kubernetes 升级遵循控制平面 Kubernetes 版本。 如果执行群集升级,则节点将自动更新以与控制平面的版本保持一致。

建议设置 Kubernetes 自动升级 通道,该通道会自动处理群集的 Kubernetes 升级。 我们还建议为群集设置 计划内维护时段 。 通过 aksManagedAutoUpgradeSchedule 维护时段,您可以控制何时执行由指定的自动升级渠道计划的集群升级。 有关详细信息,请参阅 使用计划内维护来计划和控制 Azure Kubernetes 服务 (AKS) 群集的升级

先决条件

若要在 AKS 中使用节点自动预配,需要满足以下先决条件:

  • 一份 Azure 订阅。 如果没有试用版,可以创建 试用版
  • Azure CLI 2.76.0 或更高版本。 若要查找版本,请运行 az --version。 若要详细了解如何安装或升级 Azure CLI,请参阅安装 Azure CLI

限制和不支持的功能

以下限制和不支持的功能适用于 AKS 中的节点自动预配:

在 AKS 上开始节点自动预配

以下资源可帮助你开始使用 AKS 上的节点自动预配: