現在の Container Service for ACK (ACK) クラスタ内のリソースがポッドのスケジューリングを満たすことができない場合、ノードの自動スケーリングを使用してノードを自動的にスケーリングできます。ノードの自動スケーリング機能は、スケーリング要件が限られているシナリオに適用されます。これには、自動スケーリングが有効になっているノードプールが 20 未満のクラスタ、またはノードプールあたりのノード数が 100 未満のクラスタが含まれます。ノードの自動スケーリングは、安定したトラフィックパターン、定期的または予測可能なリソース需要、および単一バッチのスケーリングがビジネス要件を満たす操作のワークロードに最適です。
開始する前に
ノード自動スケーリング機能をより適切に操作するために、「ノードスケーリング」のトピックを読み、以下の項目に注意することをお勧めします。
ノード自動スケーリングの仕組みとその機能
ノード自動スケーリングの使用シナリオ
ノード自動スケーリングの使用上の注意
前提条件
Auto Scaling がアクティブになっていることを確認します。
この機能には、次のワークフローが含まれます。
ステップ 1: クラスタのノード自動スケーリングを有効にする
ノードプール自動スケーリングモードは、クラスタの自動スケーリングが有効になった後にのみ有効になります。
ステップ 2: 自動スケーリングが有効なノードプールを構成する
ノードの自動スケーリング機能は、自動スケーリングが有効になっているノードプールにのみ適用されます。ターゲットノードプールの [スケーリングモード] を [自動] に明示的に設定する必要があります。
ステップ 1: クラスタの ノード自動スケーリングを有効にする
ACK コンソール にログオンします。左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ノードプール ページで、ノードスケーリング の横にある [有効にする] をクリックします。

ノード自動スケーリング機能を初めて使用する場合は、表示される指示に従ってサービスをアクティブ化し、承認を完了します。それ以外の場合は、この手順をスキップします。
ACK マネージドクラスターの場合、クラウド リソースにアクセスするために ACK が AliyunCSManagedAutoScalerRole を使用することを承認します。
ACK 専用クラスターの場合、スケーリング管理のために KubernetesWorkerRole と AliyunCSManagedAutoScalerRolePolicy を使用するように ACK を承認します。次の図は、[ノードスケーリング] を有効にしたときに承認できるコンソールページを示しています。

[ノードスケーリングの構成] パネルで、[ノードスケーリング方法] を [自動スケーリング] に設定し、スケーリングパラメータを構成して、[OK] をクリックします。
[ノードスケーリングの構成] は、インスタントスケーリング に切り替えて、表示される指示に従って構成ワークフローを完了することで変更できます。
パラメータ
説明
ノードプールのスケールアウトポリシー
ランダムポリシー: 複数のスケーラブルなノードプールが存在する場合、ランダムにノードプールをスケールアウトします。
デフォルトポリシー: 複数のスケーラブルなノードプールが存在する場合、リソースの浪費が最も少ないノードプールをスケールアウトします。
優先順位ベースのポリシー: 複数のスケーラブルなノードプールが存在する場合、スケールアウトの優先順位に基づいてノードプールをスケールアウトします。
ノードプールのスケールアウトの優先順位は、[ノードプールのスケールアウトの優先順位] パラメータで定義されます。
ノードプールのスケールアウトの優先順位
スケールアウト操作中のスケーリング順序を指定します。[ノードプールのスケールアウトポリシー] が [優先順位ベースのポリシー] に設定されている場合にのみ有効です。
有効な値: 1 ~ 100 の整数。数値が大きいほど、優先順位が高くなります。
構成手順:
a. パラメータの横にある [+ 追加] をクリックします。
b. 自動スケーリングが有効なノードプールを選択します。
c. 優先順位の値を設定します。
自動スケーリングが有効なノードプールがない場合は、このパラメータを今はスキップし、ステップ 2: 自動スケーリングが有効なノードプールを構成する を完了した後に構成します。
スキャン間隔
クラスタのスケーリングを評価する間隔を指定します。デフォルト値: 60 秒。
自動スケーラーは、実際のスケジューリングステータスに基づいてスケールアウトアクティビティをトリガーします。
重要Elastic Compute Service (ECS) ノード: 自動スケーラーは、[スケールインのしきい値]、[スケールインの遅延時間]、および [クールダウン] の条件が満たされた場合にのみ、スケールインアクティビティを実行します。
GPU アクセラレーテッドノード: 自動スケーラーは、[GPU スケールインのしきい値]、[スケールインの遅延時間:]、および [クールダウン] の条件が満たされた場合にのみ、スケールインアクティビティを実行します。
スケールインを許可
スケールインアクティビティを許可するかどうかを指定します。このスイッチがオフになっていると、スケールインの構成は有効になりません。注意して進めてください。
スケールインのしきい値
ノード自動スケーリングが有効になっているノードプール内のノードのリソース要求とノードのリソース容量の比率を指定します。
スケールインアクティビティは、ノードの CPU 使用率とメモリ使用率が [スケールインのしきい値] より低い場合にのみ実行されます。
GPU スケールインのしきい値
GPU アクセラレーテッドノードのスケールインのしきい値。
スケールインアクティビティは、ノードの CPU、メモリ、および GPU 使用率が [スケールインのしきい値] より低い場合にのみ実行されます。
スケールインの遅延時間
スケールインのしきい値に達した時刻とスケールインアクティビティ (ポッド数の削減) が開始される時刻の間隔。単位: 分。デフォルト値: 10。
重要自動スケーラーは、[スケールインのしきい値] が構成され、[スケールインの遅延時間] の条件が満たされた場合にのみ、スケールインアクティビティを実行します。
クールダウン
自動スケーラーがスケールアウトアクティビティを実行した後、スケールインアクティビティを実行できるようになるまでクールダウン期間が待機されます。
自動スケーラーは、クールダウン期間内にスケールインアクティビティを実行できませんが、ノードがスケールイン条件を満たしているかどうかを引き続き確認できます。クールダウン期間が終了した後、ノードがスケールイン条件を満たし、[スケールインの遅延時間] パラメータで指定された待機期間が終了すると、ノードは削除されます。たとえば、[クールダウン] パラメータが 10 分に設定され、[スケールインの遅延時間] パラメータが 5 分に設定されているとします。自動スケーラーは、スケールアウトアクティビティを実行した後、10 分間のクールダウン期間内にスケールインアクティビティを実行できません。ただし、自動スケーラーは、クールダウン期間内にノードがスケールイン条件を満たしているかどうかを引き続き確認できます。クールダウン期間が終了すると、スケールイン条件を満たすノードは 5 分後に削除されます。
ステップ 2: 自動スケーリングが有効なノードプールを構成する
既存のノードプールの [スケーリングモード] を [自動] に切り替えるか、自動スケーリングが有効な新しいノードプールを作成することで、既存のノードプールを変更できます。詳細な手順については、「ノードプールを作成および管理する」をご参照ください。
主な構成は次のとおりです。
パラメータ | 説明 |
スケーリングモード | [手動] スケーリングと [自動] スケーリングがサポートされています。コンピューティングリソースは、ビジネス要件とポリシーに基づいて自動的に調整され、クラスタコストを削減します。
|
インスタンス | ノードプールに定義されている [最小インスタンス数] と [最大インスタンス数] には、既存のインスタンスは含まれません。 説明
|
インスタンス関連のパラメータ | インスタンスタイプまたは属性に基づいて、ワーカーノードプールで使用される ECS インスタンスを選択します。vCPU、メモリ、インスタンスファミリ、アーキテクチャなどの属性で インスタンスファミリ をフィルタリングできます。ACK でサポートされていないインスタンスの仕様とノードの構成方法の詳細については、「ACK クラスタの ECS 仕様の推奨事項」をご参照ください。 ノードプールがスケールアウトされると、選択したインスタンスタイプの ECS インスタンスが作成されます。ノードプールのスケーリングポリシーによって、スケールアウトアクティビティ中に新しいノードの作成に使用されるインスタンスタイプが決まります。ノードプールのスケールアウト操作の成功率を向上させるには、複数のインスタンスタイプを選択します。 ノードプール内のノードのインスタンスタイプ。インスタンスタイプを 1 つだけ選択すると、ECS インスタンスの在庫の変動がスケーリングの成功率に影響します。スケーリングの成功率を高めるために、複数のインスタンスタイプを選択することをお勧めします。 GPU アクセラレーテッドインスタンスのみを選択した場合は、必要に応じて [GPU 共有を有効にする] を選択できます。詳細については、「cGPU の概要」をご参照ください。 |
オペレーティングシステム | 自動スケーリングを有効にすると、Alibaba Cloud Linux、Windows、または Windows Core に基づいてイメージを選択できます。 Windows または Windows Core に基づくイメージを選択すると、システムはノードプール内のノードに |
ノードラベル | ノードラベルは、スケールアウトアクティビティによってクラスタに追加されたノードに自動的に追加されます。 重要 自動スケーリングは、ノードラベルと taint がノードプールタグにマッピングされた後にのみ、ノードラベルと taint を認識できます。ノードプールに設定できるタグの数は限られています。したがって、自動スケーリングが有効になっているノードプールの ECS タグ、taint、およびノードラベルの合計数を 12 未満に制限する必要があります。 |
スケーリングポリシー |
|
プリエンプティブルインスタンスが不足している場合に従量課金インスタンスを使用する | Billing Method パラメーターを Preemptible Instance に設定する必要があります。 Static Web Apps は、静的コンテンツと動的コンテンツの両方をホストできるサービスです。WordPress は動的コンテンツを生成するため、Static Web Apps で直接ホストすることはできません。ただし、静的サイト ジェネレーターを使用して WordPress サイトの静的バージョンを作成し、それを Static Web Apps にデプロイすることは可能です。 |
[補足的なプリエンプティブル インスタンスを有効にする] | Billing Method パラメーターをプリエンプティブル インスタンスに設定する必要があります。 この機能が有効になると、システムがプリエンプティブル インスタンスが回収されたというメッセージを受信したときに、自動スケーリングが有効になっているノード プールは、回収されたプリエンプティブル インスタンスを置き換える新しいインスタンスの作成を試みます。 |
スケーリングモード | [ノードプール] ページで [ノードスケーリング] を有効にし、ノードプールの [スケーリングモード] を [自動] に設定する必要があります。
|
Taint | ノードに taint を追加すると、ACK はポッドをノードにスケジュールしなくなります。 |
ステップ 3: (オプション) ノード自動スケーリングを確認する
上記の構成を完了した後、ノード自動スケーリング機能を使用できます。ノードプールには、自動スケーリングが有効になっており、cluster-autoscaler がクラスタにインストールされていることが表示されます。
ノードプールの自動スケーリングが有効になっている
[ノードプール] ページには、自動スケーリングが有効になっているノードプールが表示されます。

cluster-autoscaler がインストールされている
詳細ページの左側のナビゲーションウィンドウで、 を選択します。
kube-system 名前空間を選択します。cluster-autoscaler コンポーネントが表示されます。

よくある質問
カテゴリ | サブカテゴリ | 問題 |
ノード自動スケーリングのスケーリング動作 | ||
カスタムスケーリング動作 | ||
cluster-autoscaler に関する質問 | ||