您可以部署 Cluster Autoscaler,以根据工作负载需求自动调整 TKG Service 集群中的工作节点数。

关于集群自动扩展

TKG Service Cluster Autoscaler 是 Kubernetes Cluster Autoscaler 的一个实现。有关详细信息,请参阅 Cluster Autoscaler 文档

Cluster Autoscaler 支持横向扩展和缩减集群节点。如果正在多区域 主管 上运行集群,则 Autoscaler 可以扩展分配给特定可用区的节点池。

Cluster Autoscaler 以标准软件包的形式提供,您可以使用 Kubectl 或 Tanzu CLI 将其安装在集群上。Cluster Autoscaler 在 TKG 集群上使用服务帐户凭据以部署的形式运行。

Autoscaler 软件包次要版本与 TKr 次要版本之间存在一对一关系。例如,如果使用的是 TKr 1.27.11,则应安装 v1.27.2 的 Autoscaler。如果版本不匹配,软件包协调将失败。

虽然 Cluster Autoscaler 支持横向扩展和缩减工作节点,但在某些情况下,Cluster Autoscaler 不会缩减节点,因为某些类型的应用程序会阻止节点缩减。请参见Cluster Autoscaler 文档中的“哪些类型的 Pod 可以阻止 CA 移除节点?”。

版本要求

Cluster Autoscaler 具有以下版本要求。
  • 最低 vSphere 版本为 vSphere 8 U3
  • vSphere 8 的最低 TKr 版本为 TKr 1.27.x
  • TKr 的次要版本和 Cluster Autoscaler 软件包的次要版本必须匹配

软件包要求

Cluster Autoscaler 以标准软件包的形式提供。软件包的次要版本必须与使用的 TKr 的次要版本匹配。例如,如果使用的是 TKr 1.27.11,则应安装 v1.27.2 的 Autoscaler。如果版本不匹配,软件包协调将失败。

您可能需要在后续存储库版本中找到目标软件包。例如,Autoscaler 的 v1.27.2 位于标准软件包存储库的 v2024.4.12 版本中。更高的 Autoscaler 软件包版本(如 1.28.x、1.29.x、1.30.x 等)位于后续存储库版本中。通过运行以下命令,可以找到所有标准软件包存储库:
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/repo

工作流

启用集群自动扩展的简要工作流如下所示:
  1. 使用 Autoscaler 注释创建新的 TKG 集群或更新现有 TKG 集群,并移除 spec.topology.workers.machinedeployments 中的副本字段。
  2. 在创建或更新的 TKG 集群上安装软件包存储库。
  3. 在创建或更新的 TKG 集群上安装 Autoscaler 软件包。

    Autoscaler 作为 kube-system 命名空间中的部署安装在 TKG 集群上。