すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ノードの即時スケーリングの有効化

最終更新日:Mar 04, 2026

大規模クラスターまたはリソースの迅速な配信を要するワークロードでは、標準的なノードの自動スケーリングではスケール速度が十分でない場合があります。ノードの即時スケーリングは、Pod がスケジュール不可能な状態になった時点で ECS インスタンスの作成を直接トリガーすることで、従来のオートスケーラーによる評価サイクルをバイパスし、ノードのプロビジョニングを高速化します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

重要

スケールイン時にサブスクリプションインスタンスはクラスターから削除されますが、リリースされません。不要なコストを回避するには、従量課金インスタンスをご利用ください。

互換性

条件対応
[スケーリングモード][標準]はい
スケーリングモードSwiftいいえ
説明

ACK GOATScaler コンポーネントのバージョンが v0.5.3 より前の場合、オフラインノードを手動で削除します。詳細については、「ノードのインスタントスケーリングに関するよくある質問」をご参照ください。

ステップ 1:ノードの即時スケーリングの有効化

ノードプールがノードのスケーリングを実行できるよう、自動クラスタースケーリングを有効化および構成します。

  1. ACK コンソール にログインします。左側ナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで対象クラスターを見つけ、その名前をクリックします。左側ナビゲーションウィンドウで、[ノード][ノードプール] の順に選択します。

  3. [ノードプール] ページで、[ノードのスケーリング] の横にある [有効化] をクリックします。

  4. 初めて自動クラスタースケーリングを利用する場合は、画面上の指示に従って Auto Scaling を有効化し、必要な権限を付与します。

    • ACK マネージドクラスターの場合: AliyunCSManagedAutoScalerRole ロールに権限を付与します。

    • ACK 専用クラスターの場合: KubernetesWorkerRole ロールに権限を付与し、AliyunCSManagedAutoScalerRolePolicy システムポリシーをアタッチします。

    image

  5. [ノードスケーリングの構成] ページで、[ノードスケーリング方法][即時スケーリング] に設定し、スケーリングパラメーターを構成して、[OK] をクリックします。構成後、Pod がスケジュール不可能な状態になると、スケーリングコンポーネントが自動的にスケールアウトをトリガーします。

    説明

    Node Instant Elasticity から Node Autoscaling に切り替えるには、画面上のメッセージを読み、指示に従ってください。このオプションはホワイトリストに登録されたユーザーのみが利用できます。アクセスをリクエストするには、チケットを送信してください。

基本スケーリングパラメーター

パラメーター説明
[スケールインしきい値]要求リソースとノード容量の比率です。CPU およびメモリの使用率の両方がこのしきい値を下回った場合にのみ、ノードのスケールインが実行されます。
[GPU スケールインしきい値]GPU インスタンスに適用される同様のしきい値です。CPU、メモリ、GPU の使用率のすべてがこのしきい値を下回った場合にのみ、GPU ノードのスケールインが実行されます。
[スケールインの遅延時間]スケールイン条件を満たしてからスケールインを実行するまでの待機時間です。単位:分。デフォルト値:10 分。

高度なスケーリングパラメーター

パラメーター説明
Pod 終了タイムアウトスケールイン時にノード上の Pod の終了を待機する最大時間です。単位:秒。
[最小レプリカ数]ノードのスケールインを許可するための ReplicaSet あたりの最小 Pod 数です。実際のレプリカ数がこの値より少ない場合、ノードはスケールインされません。
DaemonSet ポッドの強制終了有効化すると、スケールイン時にノード上の DaemonSet Pod が退避されます。
[kube-system 名前空間の Pod をホストするノードをスキップ]有効化すると、kube-system 名前空間内の Pod を実行しているノードはスケールイン対象から除外されます。ただし、DaemonSet Pod およびミラーポッドには適用されません。

ステップ 2:自動スケーリング対応ノードプールの構成

ノードの即時スケーリングは、自動スケーリングが有効化されたノードプールでのみノードをスケーリングします。少なくとも 1 つのノードプールを自動スケーリング対応として構成してください。

説明

複数のインスタンスタイプの構成、インスタンス属性の指定、または複数ゾーンの追加により、利用可能なインスタンスタイプの範囲を拡大できます。これにより、在庫を十分に確保し、スケールアウト失敗を回避できます。

(任意)ステップ 3:結果の検証

ノードプールに対する自動スケーリングの有効化状態の確認

[ノードプール] ページで、ノードプール一覧に自動スケーリングが有効化されていることが表示されることを確認します。

image

ACK GOATScaler コンポーネントのインストール状態の確認

  1. [クラスター] ページで対象クラスターを見つけ、その名前をクリックします。左側ナビゲーションウィンドウで、[アドオン] をクリックします。

  2. [アドオン] ページで、[ACK GOATScaler] コンポーネントを探します。そのステータスは [インストール済み] である必要があります。

スケーリングイベント

ノードの即時スケーリングによって生成される以下のイベントを使用して、スケーリング状態をモニターできます。

イベントオブジェクト説明
ProvisionNodePodノードのスケールアウトが正常にトリガーされました。
ProvisionNodeFailedPodノードのスケールアウトに失敗しました。
ResetPodPod以前にスケールアウトをトリガーしたスケジュール不可な Pod が、スケールアウト範囲に再追加されます。
InstanceInventoryStatusChangedACKNodePoolゾーン内のインスタンスタイプの供給ステータスが変更されました。フォーマット:{InstanceType}/{Zone} inventory status changed from {Old Inventory Status} to {New Inventory Status}。詳細については、「ノードインスタント弾性の健全性ステータスの表示」をご参照ください。

ノードおよび Pod の識別子

ノードの即時スケーリングは、ノードおよび Pod に対して以下の識別子を維持します。これらの識別子は手動で変更しないでください。

ノードラベル

ラベル説明
goatscaler.io/managed:trueノードの即時スケーリングによって管理されるノードを識別します。このコンポーネントは、これらのノードについて定期的にスケールイン条件の満たし具合をチェックします。
k8s.aliyun.com: true上記と同じです。
goatscaler.io/provision-task-id:{task-id}ノード作成のトリガー元をトレースします。

ノードの Taint

Taint説明
goatscaler.io/node-terminatingノードの即時スケーリングによってスケールイン中のノードに適用されます。

Pod のアノテーション

アノテーション説明
goatscaler.io/provision-task-idこの Pod に対してスケールアウトされたノードのタスク ID です。重複したスケールアウトトリガーを防止します。
goatscaler.io/reschedule-deadlineスケジュール不可能な状態が継続した場合に、Pod を再びスケールアウト対象範囲に追加するまでの待機期間です。

よくある質問

スケールアウト動作、スケールイン動作、カスタムスケーリング、および Node Instant Elasticity コンポーネントに関するよくある質問については、「Node Instant Elasticity に関するよくある質問」をご参照ください。

ノードの即時スケーリングの健全性ステータスの確認

ノードの即時スケーリングは、Elastic Compute Service (ECS) インスタンスの在庫に基づいて、インスタンスタイプおよびゾーンを動的に選択します。ノードプールの在庫健全性をモニターし、ノードプール構成の最適化に関する推奨事項を取得するには、ノードプール在庫健全性 ConfigMap を確認してください。

詳細については、「Node Instant Elasticity の正常性ステータスの表示」をご参照ください。

コンポーネントログの収集

ACK マネージドクラスターの場合、[コントロールプレーンコンポーネントログ] ページからコンポーネントログを収集します。

  1. ACK コンソール にログインします。左側ナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで対象クラスターを見つけ、その名前をクリックします。左側ナビゲーションウィンドウで、[操作][ログセンター] の順に選択します。

  3. [コントロールプレーンコンポーネントログ] タブをクリックし、右上隅の [コンポーネントの更新] をクリックして、ノードの即時スケーリングコンポーネントを選択します。更新後に、コンポーネントのドロップダウンリストからノードの即時スケーリングコンポーネントを選択して、そのログを表示します。

    image

    image

ノードの即時スケーリングコンポーネントのアップグレード

ACK GOATScaler コンポーネントを定期的にアップグレードして、最新の機能と修正を入手してください。詳細については、「コンポーネントの管理」をご参照ください。

プライベートプールリソースに対する在庫チェックのスキップ

リソース供給を保証するためにプライベートプールを使用する場合、SkipInventoryCheck を有効化することで、ノードの即時スケーリングが在庫チェックをスキップし、スケールアウト時に予約済みリソースを直接使用できるようになります。

  1. [クラスター] ページで対象クラスターを見つけ、その名前をクリックします。左側ナビゲーションウィンドウで、[アドオン] をクリックします。

  2. [コアコンポーネント] セクションで、[ACK GOATScaler] コンポーネントを見つけ、[設定] をクリックします。

    説明

    SkipInventoryCheck は、コンポーネントバージョン v0.3.0-582e405-aliyun 以降が必要です。必要に応じて、事前にコンポーネントをアップグレードしてください。

  3. SkipInventoryChecktrue に設定します。