クラスタ自動スケーラをデプロイして、ワークロードの要求に基づいて TKG サービス クラスタ内のワーカー ノードの数を自動的に調整できます。

クラスタの自動スケーリングについて

TKG サービス クラスタ自動スケーラは、Kubernetes Cluster Autoscaler の実装です。詳細については、クラスタ自動スケーラのドキュメントを参照してください。

クラスタ自動スケーラは、クラスタ ノードのスケール アウトとスケール インをサポートします。マルチゾーン スーパーバイザー でクラスタを実行している場合、自動スケーラは特定のアベイラビリティ ゾーンに割り当てられたノード プールをスケーリングできます。

クラスタ自動スケーラは、Kubectl または Tanzu CLI を使用してクラスタにインストールする標準パッケージとして提供されます。クラスタ自動スケーラは、サービス アカウントの認証情報を使用して、TKG クラスタ上のデプロイとして実行されます。

自動スケーラ パッケージのマイナー バージョンと TKr のマイナー バージョンの間には、1 対 1 の関係があります。たとえば、TKr 1.27.11 を使用している場合は、自動スケーラの v1.27.2 をインストールする必要があります。バージョンが一致しない場合は、パッケージの調整が失敗します。

クラスタ自動スケーラはワーカー ノードのスケール アウトとスケール インの両方をサポートしますが、一部のタイプのアプリケーションではノードのスケール ダウンが妨げられるため、クラスタ自動スケーラによるノードのスケール ダウンが実行されない場合があります。クラスタ自動スケーラのドキュメントで、「What types of pods can prevent CA from removing a node?」を参照してください。

バージョン要件

クラスタ自動スケーラには、次のバージョン要件があります。
  • vSphere の最小バージョンは、vSphere 8 U3
  • vSphere 8 の場合、TKr の最小バージョンは TKr 1.27.x
  • TKr のマイナー バージョンとクラスタ自動スケーラ パッケージのマイナー バージョンが一致

パッケージ要件

クラスタ自動スケーラは、標準パッケージとして提供されます。パッケージのマイナー バージョンは、使用する TKr のマイナー バージョンと一致する必要があります。たとえば、TKr 1.27.11 を使用している場合は、自動スケーラの v1.27.2 をインストールする必要があります。バージョンが一致しない場合は、パッケージの調整が失敗します。

目的のパッケージは、後続バージョンのリポジトリから見つけることが必要な場合があります。たとえば、自動スケーラの v1.27.2 は、標準パッケージ リポジトリの v2024.4.12 バージョンに含まれています。1.28.x、1.29.x、1.30.x など、それ以降のバージョンの自動スケーラ パッケージは、後続バージョンのリポジトリにあります。すべての標準パッケージ リポジトリを確認するには、次のコマンドを実行します。
imgpkg tag list -i projects.registry.vmware.com/tkg/packages/standard/repo

ワークフロー

クラスタの自動スケーリングを有効にするワークフローの概要は次のとおりです。
  1. 新しい TKG クラスタを作成するか、既存の TKG クラスタを更新して自動スケーラの注釈を付け、spec.topology.workers.machinedeployments のレプリカ フィールドを削除します。
  2. 作成または更新した TKG クラスタにパッケージ リポジトリをインストールします。
  3. 作成または更新した TKG クラスタに自動スケーラ パッケージをインストールします。

    自動スケーラは、kube-system 名前空間のデプロイとして TKG クラスタにインストールされます。