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

Container Service for Kubernetes:ノードインスタントスケーリングの有効化

最終更新日:Jun 18, 2026

大規模なクラスターやレイテンシーの影響を受けやすいワークロードでノードの自動スケーリングが不十分な場合は、ノードのインスタントスケーリングを有効にすることで、ノードのプロビジョニングを高速化し、コストを削減できます。

始める前に

これらの概念については、「ノードスケーリング」をご確認ください:

  • ノードインスタントスケーリングの仕組み

  • メリットとサポートされるユースケース

  • 使用上の注意

  • 予期しない課金を避けるため、従量課金インスタンスを使用してください。スケールイン中、サブスクリプションインスタンスはクラスターから削除されますが、アカウントからはリリースされません。

前提条件と制限事項

  • Kubernetes 1.24 以降の ACK マネージドクラスターまたは ACK 専用クラスター。詳細については、「クラスターを手動でアップグレードする」をご参照ください。

  • Auto Scaling が有効化されていること。

  • ノードインスタントスケーリングノードプール用の vSwitch には、十分な IP アドレスが必要です。DescribeVSwitchAttributes を呼び出して、利用可能な IP を確認してください。

    IP アドレスが不十分な場合は、「セカンダリ CIDR ブロックを追加してクラスターの IP 容量を拡張する」をご参照ください。

  • ノードインスタントスケーリングは、標準 スケーリングモード ノードプールでのみ機能します。スウィフト モードはサポートされていません。

  • ACK GOATScaler v0.5.2 以前では、オフラインノードを手動で削除してください。詳細については、「FAQ」をご参照ください。

  • ACK 専用クラスターでは、ノードに ACK GOATScaler をデプロイまたは更新するための十分なリソースがない場合、スケーリングが失敗する可能性があります。

ステップ 1: ノードインスタントスケーリングの有効化

ノードインスタントスケーリングを使用するには、ノードプールページでクラスターオートスケーリングを有効にします。

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

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

  4. プロンプトが表示された場合は、Auto Scaling を有効にし、必要な権限を付与します。

    • ACK マネージドクラスター: AliyunCSManagedAutoScalerRole ロールを承認します。

    • ACK 専用クラスター: KubernetesWorkerRole ロールを承認し、AliyunCSManagedAutoScalerRolePolicy をアタッチします。

      ノードのスケーリング設定 ダイアログボックスで、事前チェックに合格した後、RAM ロールのリンク (KubernetesWorkerRole-xxxx など) をクリックして、RAM コンソールで承認を完了します。

  5. ノードのスケーリング設定 ページで、ノードスケーリングプランインスタントエラスティック に設定し、スケーリングパラメーターを設定して、OK をクリックします。

    スケーリングコンポーネントは、スケジューリング条件に基づいてノードのスケールアウトを自動的にトリガーします。

    ノードスケーリングプラン は、いつでも Auto Scaling に切り替えることができます。画面の指示に従ってください。この機能はベータ版です。参加するには、チケットを起票してください。

    パラメーター

    説明

    [スケールインしきい値]

    ノードの自動スケーリングが有効になっているノードプールの場合、これはリクエストされたリソース (Request) とノードあたりの合計リソース容量の比率です。

    ノードは、この比率がしきい値を下回った場合、つまりノードの CPU およびメモリ使用量がともに [スケールインのしきい値] を下回った場合にのみ、スケールインできます。

    [GPU スケールインしきい値]

    GPU インスタンスのスケールインしきい値。

    GPU ノードは、ノード上の CPU、メモリ、GPU の使用率がすべて [GPU スケールインのしきい値] を下回った場合にのみ、スケールインの対象となります。

    [スケールイン開始遅延時間]

    スケールインの必要性を検出してから実際にスケールインを実行するまでの時間。単位:分。デフォルト値:10 分。

    重要

    エラスティシティ コンポーネントは、[スケールインしきい値]が満たされ、かつ[スケールイン トリガー遅延]が経過した後にのみ、ノードをスケールインする場合があります。

    詳細設定

    パラメーター

    説明

    [Pod 終了タイムアウト]

    スケールイン中の Pod 停止の最大待機時間です。単位は秒です。

    タイムアウト前に Pod が退去されない場合、ノードは解放されません。

    [Pod の最小レプリカ数]

    スケールイン保護のしきい値です。ReplicationController または ReplicaSet の Pod を持つノードは、レプリカ数がこの値を下回る場合、スケールインされません。

    ReplicationController および ReplicaSet の Pod にのみ適用され、StatefulSet または DaemonSet には適用されません。

    [DaemonSet Pod のドレインを有効にする]

    有効にすると、ノードがスケールインされるときに DaemonSet Pod が退去されます。

    kube-system 名前空間に Pod があるノードをスキップ

    有効にすると、kube-system 名前空間の Pod を持つノードはスケールインから除外されます。

    説明

    これは DaemonSet Pod またはミラー Pod には適用されません。

ステップ 2: 自動スケーリング用のノードプールの設定

ノードインスタントスケーリングは、オートスケーリングが有効になっているノードプールにのみ適用されます。

推奨:スケールアウト時に十分なキャパシティを確保するために、複数のインスタンスタイプとアベイラビリティーゾーンを設定します。

(オプション) ステップ 3: 設定の確認

自動スケーリングがアクティブであり、ACK GOATScaler がインストールされていることを確認します。

ノードプールのステータスの確認

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

アドオンのインストールの確認

  1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  2. アドオン管理 ページで、ACK GOATScaler アドオンのステータスが インストール済み であることを確認します。

ノードインスタントスケーリング の主要イベント

ノードインスタントスケーリング機能は、次のイベントを生成します:

イベント名

オブジェクト

説明

ProvisionNode

Pod

ノードのスケールアウトが正常にトリガーされました。

ProvisionNodeFailed

Pod

ノードのスケールアウトのトリガーに失敗しました。

ResetPod

Pod

スケールアウトをトリガーしたスケジュール不可能な Pod が、再試行のために再キューイングされます。

InstanceInventoryStatusChanged

ACKNodePool

設定されたインスタンスタイプの利用可能な在庫が変更されたときに発行されます。

詳細については、「ノードインスタントスケーリングのヘルスステータスの表示」をご参照ください。

ノードインスタントスケーリング 識別子

これらの識別子はシステムによって管理されます。変更すると、予期しないスケーリング動作が発生する可能性があります。

ノードラベル

  • goatscaler.io/managed=true または k8s.aliyun.com=true:ノードインスタントスケーリングによって管理されるノードを識別します。スケールイン条件を評価するために使用されます。

  • goatscaler.io/provision-task-id:{task-id}:スケールアウトタスク ID。トレーシングに使用されます。

ノード Taint

  • goatscaler.io/node-terminating:この Taint を持つノードは、スケールイン対象としてマークされます。

Pod アノテーション

  • goatscaler.io/provision-task-id:この Pod のスケールアウトタスク ID。システムは、さらなるスケールアウトをトリガーする前に、ノードの起動を待ちます。

  • goatscaler.io/reschedule-deadline:Pod スケジューリングのタイムアウト。この期限を過ぎてもスケジュール不可能な場合、Pod は再キューイングされ、別のスケールアウトをトリガーできます。

よくある質問

カテゴリ

サブカテゴリ

リンク

ノードの高速スケーリングのスケーリング動作

既知の制限事項

スケールアウトの動作

スケールインの動作

カスタムスケーリング動作

Pod 単位のスケーリング動作の制御

Pod を使用してノードのスケールインを制御する方法

ノード単位のスケーリング動作の制御

ノードの高速スケーリングアドオン

関連操作

ヘルスステータスの表示

ノードインスタントスケーリング機能は、ECS インベントリに基づいてインスタンスタイプと可用性ゾーンを選択します。インベントリの状態を監視し、インスタンスタイプの推奨を取得するには、ノードプール ConfigMap を確認してください。

詳細については、「ノードインスタントスケーリングのヘルスステータスの表示」をご参照ください。

ログ収集の有効化

ACK マネージドクラスターでは、コントロールパネルコンポーネントのログ ページから ACK GOATScaler ログを収集します。

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [ログセンター] を選択します。

  3. コントロールパネルコンポーネントのログ タブで、コンポーネントの更新 をクリックし、ACK GOATScaler を選択します。

    [コンポーネントの更新] ダイアログボックスで、ack-goatscaler を選択し、 [OK] をクリックします。

    更新後、ドロップダウンリストから ACK GOATScaler を選択すると、ログを表示できます。

ACK GOATScaler の アップグレード

最新機能を利用するために、ACK GOATScaler を最新の状態に保ってください。詳細については、「コンポーネントの管理」をご参照ください。

プライベートプールでの在庫チェックのスキップ

容量を保証するためにプライベートプールを使用する場合、SkipInventoryCheck を有効にして、ACK GOATScaler が在庫チェックをバイパスし、プライベートプールのリソースを直接使用できるようにします。

  1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

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

    ACK GOATScaler v0.3.0-582e405-aliyun 以降が必要です。
  3. SkipInventoryCheck を true に設定します。