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

Container Service for Kubernetes:ノードプールの概要

最終更新日:Aug 30, 2026

ノードプールは、同じプロパティを共有するノードの論理的なグループです。ノードプールは、ノードのアップグレードや弾力的なスケーリングといった、統一されたノード管理と運用保守 (O&M) を可能にします。また、Container Service for Kubernetes (ACK) は、OS の CVE 脆弱性の自動修復や障害ノードの自動回復など、ノードプール向けのさまざまな自動運用保守機能も提供しており、運用保守コストの削減に役立ちます。

ノードプールの概要

ノードプールは設定テンプレートです。ノードプールでスケールアウトされたノードは、その設定を使用します。クラスター内に、異なる設定とタイプを持つ複数のノードプールを作成できます。ノードプールの設定には、インスタンスタイプ、課金方法、ゾーン (vSwitch)、オペレーティングシステムイメージ、CPU アーキテクチャ、ラベル、Taint などのノードプロパティが含まれます。これらのプロパティは、ノードプールを作成する際に指定するか、ノードプール作成後に編集することができます。

ノードプール機能が導入される前に作成された古いクラスターには、アンマネージドワーカーノードが含まれている場合があります。管理を容易にするために、これらのノードをノードプールに追加することを推奨します。詳細については、「アンマネージドノードのノードプールへの移行」をご参照ください。

単一のノードプールを使用して、管理と設定の複雑さを軽減できます。また、複数のノードプールを使用して、きめ細かなリソース分離を実現し、異なるノードタイプのハイブリッドなデプロイを管理することもできます。

単一のノードプール

複数のノードプール

単一のノードプールで複数のチームやワークロードのコンピューティングリソースを管理し、運用保守を簡素化します。単一のノードプールは以下の機能をサポートします。

  • 複数のチームのコンピューティングリソースを管理する。

  • 通常の ECS インスタンス、GPU 高速化インスタンス、ECS ベアメタルインスタンス、ハイパフォーマンスコンピューティング (HPC) 最適化インスタンスなど、複数のインスタンスタイプを設定して、さまざまなワークロードのニーズに対応する。

  • 複数のゾーンにノードを分散して、高可用性を向上させる。

異なるオペレーティングシステムと CPU アーキテクチャ (Arm と x86) を持つインスタンスを混在させることはできません。

複数のノードプールを作成して、異なるワークロードやチームに独立したコンピューティングリソースを提供します。これにより、リソースの競合や潜在的なセキュリティリスクを回避できます。これは以下のシナリオに適しています。

  • テナントを分離し、異なるチームに独立したコンピューティングリソースを提供する。これにより、請求管理も簡素化される。

  • CPU アーキテクチャ、GPU、FPGA など、異なるデバイス仕様のマシンを分離し、ハードウェアリソースの合理的な割り当てを保証する。

  • 機密性の高いアプリケーションのセキュリティ分離を強化する。

  • 異なるオペレーティングシステムをデプロイする。

複数のノードプールを使用する場合、スケジューリングポリシーを使用して異なるノードプールの優先順位を定義し、リソースとコスト管理を最適化できます。例:

  • スポットインスタンスやサブスクリプションインスタンスなど、コストの異なるコンピューティングリソースのプロビジョニング優先度を制御し、全体的なコストを削減する。

  • x86 と Arm アーキテクチャの必要な比率など、ワークロードの要件に基づいて異なるインスタンスタイプを割り当てる。

ノードプールの機能

ACK は、ノードプールレベルでさまざまなノード管理機能を提供します。ワーカーノードの運用保守の負担を軽減し、アプリケーション開発により集中したい場合は、マネージドノードプール機能を有効にして、さまざまな自動運用保守機能を利用できます。

基本機能

機能

説明

リファレンス

作成、編集、削除、表示

  • コンソールでノードプールを作成し、基本情報、ネットワーク設定、インスタンス仕様、ストレージ設定、期待されるノード数を設定します。

  • 既存のノードプールの設定を調整します。編集可能な設定項目と重要な考慮事項については、参照ドキュメントをご参照ください。

  • 不要になったノードプールを削除します。ノードのリリース動作は、ノードプールで期待されるノード数が有効になっているか、およびノードの課金方法によって異なります。

  • 基本設定情報、リソース監視ダッシュボード、ノードリスト、スケーリングアクティビティなど、ノードプールの詳細を表示します。

ノードプールの作成と管理

手動または自動スケーリング

  • ノードプール内の期待されるノード数を手動で調整して、スケールインまたはスケールアウトします。これにより、ノード数を希望のレベルに保ち、リソースコストを節約できます。

    特定の非標準的な削除、変更、およびリリース操作は、ノードプールが期待どおりにスケールアウトするのを妨げる可能性があります。詳細については、参照ドキュメントをご参照ください。

  • ノードの自動スケーリングソリューションを設定して、クラスターの容量がアプリケーション Pod のスケジューリング要件を満たせない場合にノードリソースを自動的にスケーリングします。

既存ノードの追加

「既存ノードの追加」機能を使用して、購入した ECS インスタンスをワーカーノードとして ACK クラスターに追加したり、削除されたワーカーノードをノードプールに戻したりします。この機能にはいくつかの制限と重要な考慮事項があります。詳細については、参照ドキュメントをご参照ください。

既存ノードの追加

ノードの削除

特定のノードが不要になった場合は、クラスターまたはノードプールから削除できます。予期しない動作を避けるために、標準的な手順に従ってください。

ノードの削除

kubelet バージョンのアップグレード

ノードプール内のノードの kubelet と containerd のバージョンをアップグレードします。

また、クラスターの自動アップグレード機能を使用して、kubelet とコンテナランタイムを自動的にアップグレードすることもできます。

ノードプールのアップグレード

オペレーティングシステムの変更

オペレーティングシステムのバージョンをアップグレードするか、オペレーティングシステムのタイプを変更します。たとえば、サポート終了 (EOL) のオペレーティングシステムから ContainerOS または Alibaba Cloud Linux に切り替えることができます。

ノードプール内のノードのオペレーティングシステムを変更する

CVE 脆弱性の修復

CVE 脆弱性を手動でスキャンし、ノードのオペレーティングシステムのセキュリティ脆弱性を修正します。一部の CVE 脆弱性の修正にはノードの再起動が必要です。この機能とその考慮事項についての詳細は、参照ドキュメントをご参照ください。

自動運用保守機能を有効にすることで、ACK が OS の CVE 脆弱性を自動的に修正することもできます。

OS の CVE 脆弱性を手動で修正する

ノードプールの kubelet パラメーターをカスタマイズする

ノードプールレベルでノードの kubelet パラメーターをカスタマイズして、ノードの動作を調整します。たとえば、クラスターリソースの予約を調整して、リソース割り当てを管理できます。

ノードプールの kubelet 設定をカスタマイズする

ノードプールの OS パラメーターをカスタマイズする

ノードプールレベルでノードの OS パラメーターをカスタマイズして、システムのパフォーマンスを調整します。

ノードプールの OS パラメーターを管理する

コストインサイト

ノードプールレベルでリソース使用量とコスト分布を分析し、コストを最適化し、クラスターのリソース利用率を向上させます。

コストインサイト

自動運用保守機能

ノードプールの自動運用保守機能を有効にすると、ワーカーノードの運用保守の負担を軽減できます。これにより、ACK はオペレーティングシステム (OS) の CVE 脆弱性の自動修復、kubelet の自動アップグレード、ノードの自動障害回復など、特定の運用保守操作を自動的に実行できます。ただし、サービスが基盤となるノードの変更に敏感で、ノードの再起動やアプリケーション Pod の移行を許容できない場合は、このアプローチは推奨されません。

事前準備

  • オペレーティングシステムが Alibaba Cloud Linux 3 Container-Optimized Edition、ContainerOS、Alibaba Cloud Linux、Red Hat、または Ubuntu であることを確認してください。

    ACK クラスターでサポートされているオペレーティングシステムイメージとその制限事項の詳細については、「オペレーティングシステム」をご参照ください。

  • ノードプールの自動運用保守機能を使用する前に、Container Service コンソール の [ノードプール] ページで以下の操作を完了する必要があります。これらの設定はいつでも変更できます。

    ノードプールの作成方法と編集方法の詳細については、「ノードプールの作成と管理」をご参照ください。

    手順を表示するには展開してください

    • ノードプールのマネージド機能を有効にします。

      • 新規ノードプール:[マネージドノードプール] を選択します。

      • 既存のノードプール:対象のノードプールの [操作] 列で、[その他] > [マネージド機能の有効化] を選択します。

    • ノードプールで必要な自動運用保守機能を有効にします。

      これには、ノードの自動修復、kubelet、ランタイム、OS バージョンの自動アップグレード、OS の CVE 脆弱性の自動修復の有効化が含まれます。

    • クラスターのメンテナンスウィンドウを設定します。

      ノードプールの自動運用保守機能には、クラスターのメンテナンスウィンドウが必要です。ノードプールは、このウィンドウ内で自動運用保守タスクを実行します。

      • 新規ノードプール:作成時に [マネージドノードプール] の [クラスターメンテナンスウィンドウ] を設定します。

      • 既存のノードプール:ノードプールリストでマネージドノードプールを見つけ、[操作] 列で [その他] > [マネージド設定] を選択してメンテナンスウィンドウを設定します。

機能紹介

機能

説明

ノードの自動修復

ACK はノードの状態を自動的に監視し、ノードが異常になったときに自動修復タスクを実行します。これにより、システム、K8s コンポーネント、およびノードインスタンスの問題が修正されます。詳細については、「ノードの自動修復を有効にする」をご参照ください。

OS の CVE 脆弱性の自動修復

ACK はノード上のセキュリティ脆弱性をスキャンし、クラスターの運用保守ウィンドウに基づいて CVE 脆弱性の修復計画をスケジュールして実行します。これにより、クラスターの安定性、セキュリティ、コンプライアンスが向上します。注意点についての詳細は、「ノードプールの OS の CVE 脆弱性を修正する」をご参照ください。

ECS システムイベントへの自動応答

ECS システムイベントへの自動応答をサポートします。現在、以下のシステムイベントタイプがサポートされています。

  • システムメンテナンスによるインスタンスの再起動 (SystemMaintenance.Reboot)

    自動応答プロセス

    1. イベントを受信した後、ACK はテキストメッセージまたは内部メッセージで通知を送信します。通知に速やかに従ってください。

    2. 操作を実行する前に、ACK は ECS のスケジュールされた実行時間に基づいて手配します:

      • スケジュールされた実行時間の前にノードプールに利用可能なメンテナンスウィンドウがある場合、ACK はメンテナンスウィンドウ内で自動応答プロセスを実行します。

      • そうでない場合、ACK は ECS のスケジュールされた実行時間の 1 時間前にプロセスを実行します。

    3. プロセスが開始されると、ACK は影響を受ける ECS インスタンスでノードのドレインを実行します。ノード上の Pod を他の利用可能なノードに移行しようとし、その後 ECS インスタンスを再起動します。

    ノードのドレイン規則

    ノードをドレインする際、ACK はまず、安全にドレインできるノード上のすべての Pod を退去させます。安全にドレインできない Pod については、エラーメッセージが返され、自動応答プロセスは終了します。

    以下の状況の Pod は、安全にドレインできないと見なされます:

    • Pod に cluster-autoscaler.kubernetes.io/safe-to-evict: "false" というアノテーションが付いている。

    • Pod がコントローラーによって管理されていない (つまり、OwnerReference のないスタンドアロン Pod)。

    • Pod が emptyDir タイプのボリュームを使用している。

    ドレイン操作はノード上の Pod を退去させるため、ノードのメンテナンスがサービスの全体的な可用性に影響を与えないように、以下のことを強く推奨します:

    • サービスアプリケーションのバックエンドが、異なるノード上に複数レプリカでデプロイされていることを確認してください。

    • 重要なアプリケーションに対して PodDisruptionBudget (PDB) を設定し、ノード上の Pod が退去した後にサービスの全体的な可用性に影響が及ぶのを避けてください。

2026 年 1 月 31 日以降、マネージドノードプールにおける kubelet とコンテナランタイムの自動アップグレードの設定項目は削除されます。クラスターの自動アップグレードを設定してノードプールを自動的にアップグレードできます。詳細については、「製品変更 | マネージドノードプールのセキュリティ脆弱性修復と自動アップグレードの変更に関するお知らせ」をご参照ください。

ノードプールのライフサイクル

ACK クラスターのノードプールのライフサイクルは、作成とデプロイから、実行とメンテナンス (スケーリング、更新、ノードの削除を含む)、そして最終的な削除まで、複数の段階と状態を含みます。以下のセクションでは、さまざまな状態とその遷移について説明します。

image

ノードプールの状態

説明

初期化中 (initial)

ノードプールは作成中です。

アクティブ (active)

ノードプールは正常に作成され、実行中です。

失敗 (failed)

ノードプールの作成に失敗しました。

スケーリング中 (scaling)

ノードプールはスケールアウト中、またはノードを追加中です。

更新中 (updating)

ノードプールの設定は更新中です。

ノード削除中 (removing_nodes)

ノードはノードプールから削除中です。

アップグレード中 (upgrading)

ノードプールはアップグレード中です。

修復中 (repairing)

ノードプールは修復中です。たとえば、ノードの修復やノードプール内の CVE 脆弱性の修正などです。

削除中 (deleting)

ノードプールは削除中です。

削除済み (deleted, この状態は表示されません)

ノードプールは正常に削除されました。

削除失敗 (deleted_failed)

ノードプールの削除に失敗しました。再度削除を試みてください。

それでも削除に失敗する場合は、チケットを起票してください。

ノードプールの課金

ノードプールとその自動運用保守機能の使用は無料です。ただし、ノードプール内の ECS インスタンスなどのクラウドリソースについては、対応するクラウドサービスによって課金されます。

用語集

ノードプールを使用する前に、以下の概念と用語に慣れておくことを推奨します。

  • スケーリンググループ:ノードプールをスケールインまたはスケールアウトする場合、ACK は Auto Scaling (ESS) サービスを使用してスケールアウトとノード削除操作を実行します。各ノードプールは、Auto Scaling のスケーリンググループと 1 対 1 の関係にあります。スケーリンググループは、1 つ以上の ECS インスタンス (ワーカーノード) の集合です。

  • スケーリング設定:ノードプールは、スケーリング設定を使用してノード構成を管理します。スケーリング設定は、弾力的なスケーリング中に ECS インスタンスを作成するために使用されるテンプレートです。スケーリングアクティビティがトリガーされると、Auto Scaling は指定されたスケーリング設定を使用して ECS インスタンスを自動的に作成します。

  • スケーリングアクティビティ:ノードプール内のすべてのスケールイン、スケールアウト、ノード追加、またはノード削除は、スケーリングアクティビティをトリガーします。スケーリングアクティビティがトリガーされると、すべてのスケーリングアクションはシステムによって自動的に実行され、関連するレコードが保存されます。ノードプールのスケーリングアクティビティ履歴を表示できます。

  • システムディスクの交換:ノードプール内の一部の操作 (既存ノードの自動追加やコンテナランタイムの変更など) は、システムディスクを交換してノードを初期化します。ノード名、インスタンス ID、IP アドレスなどのノードのインスタンスプロパティは変更されませんが、ノードのシステムディスク上のデータは削除されます。ノードにアタッチされているデータディスクは影響を受けません。

    ACK がシステムディスクを交換する際、ノードをドレインします。このプロセスは、ノード上の Pod を他の利用可能なノードに退去させ、Pod Disruption Budget (PDB) に従います。高いサービス可用性を確保するために、複数レプリカの Deployment を使用してワークロードを複数のノードに分散させ、重要なサービスに PDB を設定することを推奨します。これにより、同時に中断される可能性のある Pod の数を制御できます。

  • インプレースアップグレード:システムディスクの交換に代わるアップグレード方法です。この方法では、ノード上で必要なコンポーネントを直接更新および交換します。インプレースアップグレードはシステムディスクを交換したり、ノードを再初期化したりせず、ノード上のデータは影響を受けません。

関連ドキュメント