您可以部署 Cluster Autoscaler,以根據工作負載需求自動調整 TKG 服務叢集中的 worker 節點數。

關於叢集自動調整

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,則應安裝 Autoscaler v1.27.2。如果版本不符,套件重新調整將失敗。

雖然 Cluster Autoscaler 支援擴充和縮減 worker 節點,但在某些情況下,Cluster Autoscaler 不會縮減節點,因為某些類型的應用程式會阻止節點縮減。請參閱Cluster Autoscaler 說明文件中的「哪些類型的網繭可以阻止 CA 移除節點?」。

版本需求

Cluster Autoscaler 具有下列版本需求。
  • 最低 vSphere 版本為 vSphere 8 U3
  • vSphere 8 的最低 TKr 版本為 TKr 1.27.x
  • TKr 的次要版本和 Cluster Autoscaler 套件的次要版本必須相符

套件需求

Cluster Autoscaler 以標準套件的形式提供。套件的次要版本必須與使用的 TKr 的次要版本相符。例如,如果使用的是 TKr 1.27.11,則應安裝 Autoscaler v1.27.2。如果版本不符,套件重新調整將失敗。

您可能需要在後續存放庫版本中找到目標套件。例如,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 叢集上。