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

Container Service for Kubernetes:ノードプールの作成と管理

最終更新日:Mar 02, 2026

ACK では、ノードプールを使用してノードをグループで管理できます。ノードプールは、インスタンスタイプ、オペレーティングシステム、ラベル、Taint など、同じプロパティを共有するノードの論理的なコレクションです。クラスター内に異なる構成とタイプの複数のノードプールを作成して、ノードを統合管理できます。

ノードプールを作成する前に、「ノードプール」を参照して、ノードプールの基本的な概念、シナリオ、特徴、課金について学習してください。

エントリーポイント

[ノードプール] ページでは、クラスター内のノードプールの作成、編集、削除、表示ができます。

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

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

ノードプールの作成

コンソールで、基本設定、ネットワーク設定、ストレージ設定など、ノードプールを設定できます。一部のパラメーター、特にノードプールの可用性とネットワークに関連するパラメーターは、ノードプールの作成後に変更できません。ノードプールを作成しても、他のノードプール内の既存のノードやサービスには影響しません。

説明

コンソールに加えて、API と Terraform を使用してノードプールを作成することもできます。詳細については、「CreateClusterNodePool」および「Terraform を使用して自動スケーリングが有効なノードプールを作成する」をご参照ください。

  1. [ノードプール] ページで、[ノードプールの作成] をクリックします。[ノードプールの作成] ダイアログボックスで、パラメーターを設定します。

    ノードプールを作成した後、[ノードプールの編集] ページで設定項目を変更できます。次の表の [変更可能] 列は、設定項目がノードプールの作成後に変更できるかどうかを示します。Incorrect アイコンは設定項目が変更できないことを示し、Correct アイコンは変更できることを示します。

    基本設定

    パラメーター

    説明

    変更可能

    ノードプール名

    ノードプールの名前を入力します。

    機密コンピューティング

    説明
    • 現在、機密コンピューティングを設定できるのはホワイトリストに登録されたユーザーのみです。チケットを送信して、ホワイトリストへの追加を申請してください。

    • このパラメーターは、[コンテナーランタイム] が containerd に設定されている場合にのみ必要です。

    [機密コンピューティング] を有効にするかどうかを指定します。機密コンピューティングは、高いセキュリティ要件を持つユーザー向けのハードウェア暗号化技術に基づく、ワンストップのクラウドネイティブな機密コンピューティングコンテナープラットフォームです。使用中 (計算中) のデータのセキュリティ、完全性、機密性を保護すると同時に、信頼できるアプリケーションや機密アプリケーションの開発、配信、管理を簡素化してコストを削減します。詳細については、「ACK TEE ベースの機密コンピューティング」をご参照ください。

    コンテナランタイム

    コンテナーランタイムの選択方法については、「containerd、Sandboxed-Container、および Docker ランタイムの比較」をご参照ください。

    • containerd (推奨): コミュニティ標準です。Kubernetes 1.20 以降でサポートされています。

    • Sandboxed-Container: 軽量の仮想化技術に基づいて強力に分離された環境を提供します。 Kubernetes 1.31 以前でサポートされています。

    • Docker (サポート終了): Kubernetes 1.22 以前でのみサポートされています。このランタイムでクラスターを作成することはできなくなりました。

    スケーリングモード

    • [手動]: ACK は、設定された [ノードの期待数] に維持することで、ノードプール内のノード数を調整します。詳細については、「ノードプールを手動でスケーリングする」をご参照ください。

    • [自動]: クラスターの容量計画がアプリケーション Pod のスケジューリング要件を満たせない場合、ACK は設定された最小および最大のインスタンス数に基づいてノードリソースを自動的にスケーリングします。Kubernetes 1.24 以降のクラスターでは、インスタントノードスケーリング がデフォルトで有効になります。Kubernetes 1.24 より前のバージョンのクラスターでは、ノードの自動スケーリング がデフォルトで有効になります。詳細については、「ノードスケーリング」をご参照ください。

    マネージド設定

    ACK は、ノードプールの自動化された 運用保守 (O&M) のレベルを可能にする 3 種類のマネージド設定を提供します。

    • [インテリジェントホスティング]: インテリジェントホスティングを有効にすると、ACK はワークロードの要件に基づいてノードプールを自動的かつ動的にスケーリングします。ACK は、オペレーティングシステムのアップグレード、ソフトウェアのアップグレード、セキュリティ脆弱性の修正などの O&M タスクも担当します。

      この機能は、インテリジェントホスティングが有効なクラスターでのみ利用できます。
    • [マネージドノードプール]: 必要な自動 O&M 機能と、自動 O&M タスクを実行するためのクラスターメンテナンスウィンドウを選択します。

      関連する設定を展開して表示

      パラメーター

      説明

      変更可能

      ノードの自動修復

      ACK はノードの状態を自動的に監視し、ノードが異常になった場合に自動修復タスクを実行します。[ノードが異常な場合にノードを再起動] を選択した場合、自動修復プロセス中にノードのドレインやディスクの交換などの操作が含まれることがあります。トリガー条件と関連イベントの詳細については、「ノードの自動修復を有効にする」をご参照ください。

      セキュリティ脆弱性の自動修復

      ノードプール内の OS CVE 脆弱性を修正します。自動修復のための脆弱性の深刻度レベルを設定できます。

      クラウドリソースと課金: imageSecurity Center

    • [無効]: 自動 O&M を使用しません。ノードとノードプールの O&M を手動で実行します。

    各マネージド設定の違いと注意点の詳細については、「マネージド設定機能と注意点の比較」をご参照ください。

    ネットワーク設定

    パラメーター

    説明

    変更可能

    ネットワーク設定

    VPC

    クラスターの VPC がデフォルトで選択され、ノードプールの作成後に変更することはできません。

    クラウドリソースと課金: image VPC

    VSwitch

    ノードプールがスケーリングされると、[スケーリングポリシー] に基づいて、選択した vSwitch のゾーンでノードがスケールインまたはスケールアウトされます。高可用性を確保するには、異なるゾーンにある 2 つ以上の vSwitch を選択してください。

    vSwitch を作成するには、「vSwitch の作成と管理」をご参照ください。

    image VPC

    インスタンスとイメージの設定

    パラメーター

    説明

    変更可能

    課金方法

    ノードプールでスケールアウトされたノードのデフォルトの課金方法。

    • [従量課金]: 必要に応じて有効化およびリリースできます。

    • [サブスクリプション]: [サブスクリプション期間][自動更新] を設定する必要があります。

    • [スポットインスタンス]: 現在、保護期間付きの スポットインスタンス のみがサポートされています。また、[インスタンスあたりの最大価格] を設定する必要があります。

      指定されたインスタンスタイプのリアルタイム価格がインスタンスごとの最大入札額よりも低い場合にインスタンスが正常に作成されます。保護期間 (1 時間) が経過すると、システムは 5 分ごとにインスタンスタイプのリアルタイム価格と在庫を確認します。市場価格が入札額よりも高い場合、または在庫が不十分な場合、スポットインスタンスはリリースされます。使用上の推奨事項については、スポットインスタンスノードプールのベストプラクティス」をご参照ください。

    ノードプールの均一性を確保するため、[従量課金] または [サブスクリプション] のノードプールを [スポットインスタンス] ノードプールに変更したり、その逆を行ったりすることはできません。

    重要

    ノードプールの課金方法を変更しても、新しいノードにのみ影響します。ノードプール内の既存のノードの課金方法は変更されません。ノードプール内の既存のノードの課金方法を変更したい場合は、「インスタンスの課金方法を従量課金からサブスクリプションに変更する」をご参照ください。

    インスタンス関連の設定

    ノードプールがスケールアウトすると、選択した ECS インスタンスファミリー からノードが割り当てられます。より多くのゾーンでより多くのインスタンスタイプを選択すると、ノードのスケールアウトの成功率を高め、利用できないインスタンスタイプや在庫不足による失敗を防ぐことができます。スケールアウトの具体的なインスタンスタイプは、[スケーリングポリシー] によって決定されます。

    • 特定のタイプ: vCPU、メモリ、インスタンスファミリー、アーキテクチャなどのディメンションに基づいて特定のインスタンスタイプを指定します。

    • 汎用設定: vCPU やメモリなどの属性に基づいて、使用または除外するインスタンスタイプのリスト を選択し、スケールアウトの成功率をさらに向上させます。詳細については、「インスタンス属性を指定してノードプールを構成する」をご参照ください。

    コンソールで弾力性強度の推奨事項を参照するか、作成後に ノードプールの弾力性強度を表示 できます。

    ACK でサポートされていないインスタンスタイプとノード設定の推奨事項については、「ECS インスタンスタイプ設定の推奨事項」をご参照ください。

    クラウドリソースと課金: imageECS インスタンスimageGPU アクセラレーションインスタンス

    オペレーティングシステム

    [Alibaba Cloud Marketplace のイメージ] 機能はパブリックプレビュー中です。

    ノードプールでノードがスケールアウトされるときに使用されるデフォルトのオペレーティングシステムイメージ。

    後でオペレーティングシステムをアップグレードまたは変更するには、「オペレーティングシステムの変更」をご参照ください。
    Alibaba Cloud Linux 2 と CentOS 7 はメンテナンスされなくなりました。サポートされているオペレーティングシステムを使用してください。Alibaba Cloud Linux 3 Container-Optimized OS または ContainerOS を推奨します。

    セキュリティ強化

    ノードを作成すると、ACK は選択されたセキュリティベースラインポリシーを適用します。

    • [無効]: ECS インスタンスに対してセキュリティ強化は実行されません。

    • [MLPS 2.0 セキュリティ強化]: Alibaba Cloud は、MLPS 2.0 コンプライアンス要件を満たす Alibaba Cloud Linux MLPS 2.0 レベル 3 イメージのベースラインチェック標準とスキャンツールを提供します。ネイティブイメージの互換性とパフォーマンスを確保しながら、MLPS 2.0 コンプライアンスに対応し、「GB/T 22239-2019 情報セキュリティ技術 - サイバーセキュリティの分類保護のためのベースライン」の要件を満たします。詳細については、「ACK MLPS 2.0 セキュリティ強化に関する説明」をご参照ください。

      ただし、このモードでは、root ユーザーは SSH を使用してリモートでログインできません。ECS コンソールから VNC 接続を使用してインスタンスに接続し、SSH ログインをサポートする一般ユーザーを作成できます。

    • [Alibaba Cloud OS 強化]: Alibaba Cloud Linux 2 または Alibaba Cloud Linux 3 でのみサポートされています。

    ログイン方法

    [MLPS 2.0 セキュリティ強化] を選択した場合、[パスワードの設定] のみサポートされます。
    ContainerOS は [キーペアの設定] または [作成後に設定] のみをサポートします。キーペアを使用したい場合は、キーペアを設定した後に管理コンテナーを起動する必要があります。詳細については、「ContainerOS ノードで O&M 操作を実行する」をご参照ください。

    ノードを作成すると、ACK は指定されたキーペアまたはパスワードをインスタンスにプリインストールします。

    • [作成時に設定]:

      • [キーペアの設定]: Alibaba Cloud SSH キーペア は、公開鍵と秘密鍵で構成される安全で便利なログイン認証方式です。Linux インスタンスでのみサポートされています。

        また、[ログイン名] ([root] または [ecs-user]) と必要な [キーペア] を設定する必要があります。

      • [パスワードの設定]: [ログイン名] ([root] または [ecs-user]) とパスワードを設定します。

    • [作成後に設定]: インスタンスが作成された後、キーペアをアタッチするか、インスタンスのパスワードを自分でリセットします。詳細については、「SSH キーペアのアタッチ」および「インスタンスのログインパスワードのリセット」をご参照ください。

    ストレージ設定

    パラメーター

    説明

    変更可能

    システムディスク

    必要に応じて ディスクタイプを選択します。ディスクタイプには、ESSD AutoPL、エンタープライズ SSD (ESSD)、ESSD Entry、および旧世代のディスク (標準 SSD および Ultra ディスク) が含まれます。容量と IOPS を設定します。

    利用可能なシステムディスクタイプは、選択した インスタンスファミリー によって異なります。表示されていないディスクタイプはサポートされていません。

    ESSD のカスタムパフォーマンスと暗号化

    • パフォーマンスレベル (PL) をカスタマイズできます。ディスク容量が大きいほど、より高い PL を選択できます。容量が 460 GiB 以上のディスクでは PL2 を、容量が 1260 GiB 以上のディスクでは PL3 を選択できます。詳細については、「ESSD」をご参照ください。

    • システムディスクの中で、ESSD のみが [暗号化] をサポートしています。キーを選択すると、Alibaba Cloud はデフォルトのサービスキー (Default Service CMK) を使用して暗号化します。KMS サービスで作成したカスタムキー (BYOK) を選択して暗号化することもできます。

    [より多くのシステムディスクタイプを設定] を選択して、[システムディスク] とは異なるディスクタイプを設定し、スケールアウトの成功率を高めることができます。ノードを作成する際、ACK は指定されたディスクタイプの順序に基づいて最初に一致するタイプを選択します。

    クラウドリソースと課金: imageECS ブロックストレージ

    データディスク

    必要に応じて ディスクタイプを選択します。ディスクタイプには、ESSD AutoPL、エンタープライズ SSD (ESSD)、ESSD Entry、および旧世代のディスク (標準 SSD および Ultra ディスク) が含まれます。容量と IOPS を設定します。

    利用可能なデータディスクタイプは、選択した インスタンスファミリー によって異なります。表示されていないディスクタイプはサポートされていません。

    ESSD AutoPL サポート

    • プロビジョニングされたパフォーマンス: ストレージ容量を変更することなく、必要に応じてディスクのプロビジョニングされたパフォーマンスを柔軟に設定できます。これにより、ディスク容量とパフォーマンスが分離されます。

    • パフォーマンスバースト: ビジネスでデータ読み書きの圧力が急激に増加した場合、ディスクは一時的にパフォーマンスを向上させて ピーク需要に対応し、ビジネスが安定するまで続きます。

    ESSD サポート

    パフォーマンスレベル (PL) をカスタマイズできます。ディスク容量が大きいほど、より高い PL を選択できます。容量が 460 GiB 以上のディスクでは PL2 を、容量が 1260 GiB 以上のディスクでは PL3 を選択できます。詳細については、「ESSD」をご参照ください。

    • データディスクをアタッチする場合、すべてのディスクタイプが [暗号化] をサポートします。キーを選択すると、Alibaba Cloud はデフォルトのサービスキー (Default Service CMK) を使用して暗号化します。KMS サービスで作成したカスタムキー (BYOK) を選択して暗号化することもできます。

    • ノード作成中、最後のデータディスクは自動的にフォーマットされます。/var/lib/container ディレクトリはこのデータディスクにマウントされ、/var/lib/kubelet および /var/lib/containerd ディレクトリは /var/lib/container にマウントされます。

      マウントディレクトリをカスタマイズするには、データディスクの初期化設定を調整します。コンテナーランタイムが占有するディレクトリとして、最大 1 つのデータディスクを選択できます。詳細については、「ACK ノードプール内のデータディスクのマウントディレクトリをカスタマイズできますか。
    • コンテナイメージの高速化や大規模モデルの高速読み込みが必要なシナリオでは、スナップショットを使用してデータディスクを作成し、システムの応答速度と処理能力を向上させることもできます。

    [より多くのデータディスクタイプを設定] を選択して、[データディスク] とは異なるディスクタイプを設定し、スケールアウトの成功率を高めることができます。ノードを作成する際、ACK は指定されたディスクタイプの順序に基づいて最初に一致するタイプを選択します。

    ECS インスタンスには最大 64 個のデータディスクをアタッチできます。アタッチできるディスクの最大数はインスタンスタイプによって異なります。DescribeInstanceTypes 操作 (DiskQuantity) を呼び出すことで、インスタンスタイプがサポートするディスクの最大数をクエリできます。

    クラウドリソースと課金: imageECS ブロックストレージ

    インスタンス数

    パラメーター

    説明

    変更可能

    ノードの期待数

    ノードプールが維持しなければならないノードの総数。クラスターコンポーネントが正常に動作するように、少なくとも 2 つのノードを設定することをお勧めします。ノードの期待数を調整して、ノードプールをスケールアウトまたはスケールインできます。詳細については、「ノードプールのスケーリング」をご参照ください。

    ノードを作成する必要がない場合は、これを 0 に設定し、後で手動でノードを追加できます。

    詳細設定

    [詳細オプション (オプション)] を展開して、ノードのスケーリングポリシー、リソースグループ、ECS タグ、Taint、およびその他の設定を構成します。

    詳細設定

    パラメーター

    説明

    変更可能

    リソースグループ

    権限管理とコスト配分を容易にするために、選択した リソースグループ にノードプールを割り当てます。

    リソースは 1 つのリソースグループにのみ属することができます。

    スケーリングモード

    ノードプールに対して [ノードの自動スケーリング] を有効にし、[スケーリングモード][自動] に設定する必要があります。
    • [標準モード]: ECS インスタンスを作成およびリリースすることでスケーリングします。

    • [エコノミーモード]: ECS インスタンスを作成、停止、再起動することでスケーリングします。これにより、再度スケーリングが必要な場合に停止したインスタンスを直接再起動でき、スケーリング速度が向上します。

      停止した ECS インスタンスの計算リソースには課金されません。ストレージ料金のみが課金されます (ビッグデータやローカル SSD タイプなど、ローカルストレージ機能を持つインスタンスファミリーを除く)。ECS インスタンス停止モードの課金と関連する注意点の詳細については、「エコノミーモード」をご参照ください。

    スケーリングポリシー

    ノードスケーリング中にノードプールがインスタンスを選択する方法を設定します。

    • [優先度ポリシー]: クラスターに設定された vSwitch の優先度に基づいてスケーリングします (vSwitch の優先度は上から下に減少します)。優先度の高い vSwitch のゾーンでインスタンスを作成できない場合、次に優先度の高い vSwitch が自動的に使用されます。

    • [コスト最適化ポリシー]: vCPU 単価に基づいて、最も低いものから最も高いものへとスケーリングします。

      ノードプールが [スポットインスタンス] を使用する場合、スポットインスタンスが優先されます。[オンデマンドインスタンスの割合 (%)] を設定することもできます。在庫やその他の理由でスポットインスタンスタイプを作成できない場合、オンデマンドインスタンスが自動的に補完として使用されます。

    • [均等分散ポリシー]: マルチゾーンシナリオでのみ、ECS インスタンスを複数のゾーンに均等に分散します。在庫不足やその他の理由でゾーンの分散が不均衡になった場合は、リバランス操作を実行できます。

    オンデマンドインスタンスを使用してプリエンプティブル容量を補完

    これは、課金方法がスポットインスタンスに設定されている場合に必要です。

    この機能を有効にし、価格や在庫の問題で十分なスポットインスタンスを作成できない場合、ACK は自動的にオンデマンドインスタンスを補完として作成しようとします。

    クラウドリソースと課金: imageECS インスタンス

    スポットインスタンス補償を有効にする

    これは、課金方法がスポットインスタンスに設定されている場合に必要です。

    この機能を有効にすると、スポットインスタンスが回収されるというシステムメッセージを受信したとき (回収の 5 分前)、ACK は補償のために新しいインスタンスをスケールアウトしようとします。

    • 補償成功: ACK は古いノードをドレインし、クラスターから削除します。

    • 補償失敗: ACK は古いノードをドレインしません。インスタンスは 5 分後に回収され、リリースされます。在庫が回復するか、価格条件が満たされると、ACK は自動的にインスタンスを購入して、ノードの期待数を維持します。詳細については、「スポットインスタンスノードプールのベストプラクティス」をご参照ください。

    スポットインスタンスの積極的なリリースは、ビジネスの例外を引き起こす可能性があります。補償の成功率を向上させるために、[オンデマンドインスタンスを使用してスポット容量を補完] も有効にすることをお勧めします。

    クラウドリソースと課金: imageECS インスタンス

    ECS タグ

    ACK によって自動的に作成される ECS インスタンスにタグを追加して、クラウドリソースを識別します。各 ECS インスタンスには最大 20 個のタグをアタッチできます。制限を増やすには、クォータセンターページでリクエストを送信してください。ACK と ESS が一部のタグを占有するため、インスタンスには最大 17 個のカスタムタグを指定できます。

    タグの使用状況を展開して表示

    • ACK はデフォルトで 2 つの ECS タグを占有します。

      • ack.aliyun.com:<クラスター ID>

      • ack.alibabacloud.com/nodepool-id:<ノードプール ID>

    • ESS はデフォルトで 1 つの ECS タグを占有します: acs:autoscaling:scalingGroupId:<ノードプールスケーリンググループ ID>

    • ノードの自動スケーリングを有効にすると、Auto Scaling はデフォルトで 2 つの ECS タグを占有します。したがって、ノードプールは追加で 2 つの ECS タグを占有します: k8s.io/cluster-autoscaler:truek8s.aliyun.com:true

    • ノードの自動スケーリングを有効にすると、コンポーネントは ECS タグを介してノードのラベルと Taint を記録し、スケールアウトされたノードのスケジューリング動作を事前に検出します。

      • ノードの各ラベルは k8s.io/cluster-autoscaler/node-template/label/<ラベルキー>:<ラベル値> に変換されます。

      • ノードの各 Taint は k8s.io/cluster-autoscaler/node-template/taint/<Taint キー>/<Taint 値>:<Taint 効果> に変換されます。

    Taints

    ノードにキーと値の Taint を追加します。有効な Taint キーは、オプションのプレフィックスと名前で構成されます。プレフィックスが存在する場合、それは名前とスラッシュ (/) で区切られます。

    詳細

    • [キー]: 名前は 1〜63 文字の長さでなければなりません。文字または数字 [a-z0-9A-Z] で始まり、終わり、文字、数字、ハイフン (-)、アンダースコア (_)、およびピリオド (.) を含めることができます。

      プレフィックスを指定する場合、それは DNS サブドメインでなければなりません。これは、ピリオド (.) で区切られた一連の DNS ラベルで、最大 253 文字の長さで、スラッシュ (/) で終わります。

    • [値]: Taint 値は空にすることができます。長さは 63 文字以下でなければなりません。文字または数字 [a-z0-9A-Z] で始まり、終わり、文字、数字、ハイフン (-)、アンダースコア (_)、およびピリオド (.) を含めることができます。

    • [効果]:

      • [NoSchedule]: この Taint を許容しない新しい Pod はノードにスケジュールできませんが、既存の実行中の Pod には影響しません。

      • [NoExecute]: この Taint を許容しない新しい Pod がノードにスケジュールされるのを防ぐだけでなく、この Taint を許容しないノード上の既存の実行中の Pod はすべてエビクションされます。

      • [PreferNoSchedule]: ACK は、許容しない Taint を持つノードへの Pod のスケジューリングを避けようとしますが、これは強制されません。

    ラベル

    ノードにキーと値のラベルを追加します。有効なキーは、オプションのプレフィックスと名前で構成されます。プレフィックスが存在する場合、それは名前とスラッシュ (/) で区切られます。

    詳細

    • キー: 名前は 1〜63 文字の長さでなければなりません。英数字 [a-z0-9A-Z] で始まり、終わり、文字、数字、ハイフン (-)、アンダースコア (_)、およびピリオド (.) を含めることができます。

      プレフィックスを指定する場合、それは DNS サブドメインでなければなりません。これは、ピリオド (.) で区切られた一連の DNS ラベルで、最大 253 文字の長さで、スラッシュ (/) で終わります。

      Kubernetes コアコンポーネントによって予約されており、指定できないプレフィックス

      • kubernetes.io/

      • k8s.io/

      • kubernetes.io/ および k8s.io/ で終わるプレフィックス。例: test.kubernetes.io/

        以下は例外です:

        • kubelet.kubernetes.io/

        • node.kubernetes.io

        • kubelet.kubernetes.io/ で終わるプレフィックス。

        • node.kubernetes.io で終わるプレフィックス。

    • 値: 空にすることができます。長さは 63 文字以下でなければなりません。英数字 [a-z0-9A-Z] で始まり、終わり、文字、数字、ハイフン (-)、アンダースコア (_)、およびピリオド (.) を含めることができます。

    スケジュール対象外に設定

    新しいノードがクラスターに登録されると、デフォルトでスケジュール不可に設定されます。ノードリストで ノードのスケジューリング状態 を手動で調整する必要があります。

    この設定は、バージョン 1.34 より前のクラスターでのみ有効です。詳細については、「Kubernetes 1.34 バージョンガイド」をご参照ください。

    コンテナのイメージアクセラレーション

    この機能は、バージョン 1.6.34 以降の containerd ランタイムでのみサポートされています。

    新しく追加されたノードは、コンテナイメージがオンデマンド読み込みをサポートしているかどうかを自動的に検出します。サポートされている場合、コンテナの起動を高速化し、アプリケーションの起動時間を短縮するために、オンデマンド読み込みがデフォルトで使用されます。詳細については、「コンテナイメージのオンデマンド読み込みを使用してコンテナの起動を高速化する」をご参照ください。

    (非推奨) CPU ポリシー

    ノード上の kubelet の CPU 管理ポリシー を指定します。

    • None: デフォルトのポリシー。

    • Static: 特定のリソース特性を持つ Pod がノード上で強化された CPU アフィニティと排他性を付与されることを許可します。

    ノードプールのカスタム kubelet 設定を使用することをお勧めします。
    カスタムノードプール Kubelet 設定を使用することをお勧めします。

    カスタムノード名

    ノード名は、プレフィックス、ノードの IP アドレス、およびサフィックスで構成されます。この機能を有効にすると、ノード名、ECS インスタンス名、および ECS インスタンスのホスト名も変更されます。

    たとえば、ノードの IP アドレスが 192.XX.YY.55 で、指定されたプレフィックスが aliyun.com、サフィックスが test の場合。

    • Linux ノード: ノード名、ECS インスタンス名、および ECS インスタンスのホスト名はすべて aliyun.com192.XX.YY.55test です。

    • Windows ノード: そのホスト名は IP アドレスに固定され、IP アドレスの .- に置き換え、プレフィックスやサフィックスは含まれません。

      したがって、対応する ECS インスタンスのホスト名は 192-XX-YY-55 であり、ノード名と ECS インスタンス名は両方とも aliyun.com192.XX.YY.55test です。

    ワーカー RAM ロール

    この機能は ACK マネージドクラスター
    これは、新しいノードプールを作成するときにのみ指定できます。

    ノードプールレベルでワーカー RAM ロールを指定して、すべてのノード間で 1 つのワーカー RAM ロールを共有することから生じる可能性のあるセキュリティリスクを軽減します。

    • [デフォルトロール]: クラスター用にデフォルトで作成されるワーカー RAM ロールを使用します。

    • [カスタム]: 指定されたロールをワーカー RAM ロールとして使用します。空のままにすると、デフォルトのロールが使用されます。詳細については、「カスタムワーカー RAM ロールの使用」をご参照ください。

    インスタンスメタデータアクセスモード

    バージョン 1.28 以降のクラスターでのみサポートされています。

    ECS インスタンスのメタデータアクセスモードを設定します。ECS インスタンス内からメタデータサービスにアクセスして、インスタンスメタデータを取得します。このメタデータには、インスタンス ID、VPC 情報、NIC 情報などのインスタンスプロパティが含まれます。詳細については、「インスタンスメタデータ」をご参照ください。

    事前カスタムユーザーデータ

    指定された事前カスタム ユーザーデータスクリプト は、ノードがクラスターに追加される前に実行されます。

    たとえば、事前カスタムユーザーデータを echo "hello world" として指定した場合、ノードで実行される実際のスクリプトは次のようになります。

    #!/bin/bash
    echo "hello world"
    [ノード初期化スクリプト]
    この設定のノード初期化中の有効なロジックについては、「ノード初期化プロセス」をご参照ください。

    インスタンスユーザーデータ

    指定されたカスタム ユーザーデータスクリプト は、ノードがクラスターに追加された後に実行されます。

    たとえば、インスタンスユーザーデータを echo "hello world" として指定した場合、ノードで実行される実際のスクリプトは次のようになります。

    #!/bin/bash
    [ノード初期化スクリプト]
    echo "hello world"
    この設定のノード初期化中の有効なロジックについては、「ノード初期化プロセス」をご参照ください。
    クラスターの作成またはノードのスケールアウトが成功しても、インスタンスユーザーデータスクリプトが正常に実行されたことは保証されません。ノードにログインし、grep cloud-init /var/log/messages を実行して実行ログを表示できます。

    CloudMonitor エージェント

    CloudMonitor コンソールで、ノードとアプリケーションの実行状態を表示および監視できます。

    この設定は、ノードプール内の新しいノードにのみ有効で、既存のノードには有効ではありません。

    既存のノードでこれを有効にするには、CloudMonitor コンソールからインストールしてください。

    クラウドリソースと課金: imageCloudMonitor

    パブリック IP

    ACK はノードにパブリック IPv4 アドレスを割り当てます。

    この設定は、ノードプール内の新しいノードにのみ有効で、既存のノードには有効ではありません。既存のノードがインターネットにアクセスする必要がある場合は、EIP を設定してアタッチする必要があります。詳細については、「クラウドリソースに EIP をアタッチする」をご参照ください。

    クラウドリソースと課金: imageECS パブリックネットワーク

    カスタムセキュリティグループ

    ノードプールに基本またはエンタープライズセキュリティグループを指定します。ACK はデフォルトでセキュリティグループに追加のアクセスルールを設定しません。アクセス例外を防ぐために、セキュリティグループルールを自分で管理する必要があります。詳細については、「クラスターのセキュリティグループを設定する」をご参照ください。

    各 ECS インスタンスは、限られた数のセキュリティグループに追加できます。セキュリティグループのクォータが十分であることを確認してください。

    RDS ホワイトリスト

    RDS インスタンスのホワイトリストにノードの IP アドレスを追加します。

    デプロイメントセット

    ECS コンソールで デプロイメントセットを作成した後、それをノードプールに割り当てることができます。これにより、ノードプールからスケールアウトされたノードが異なる物理サーバに分散され、高可用性が向上します。

    デプロイメントセットがサポートするノードのデフォルトの最大数は 20 × ゾーン数 です (ゾーン数は vSwitch によって決定されます)。ノードプール内のノードの最大数は制限されています。デプロイメントセットのクォータが十分であることを確認してください。

    後でこの機能を有効にするには、「ノードプールデプロイメントセットのベストプラクティス」をご参照ください。

    プライベートプールタイプ

    選択したゾーンとインスタンスタイプに使用できる プライベートプールリソース。タイプには以下が含まれます:

    • [オープン]: インスタンスは自動的にオープンタイプのプライベート容量プールに一致します。適格なプライベートプールが見つからない場合、パブリックプールリソースがインスタンスの起動に使用されます。

    • [使用しない]: インスタンスはプライベートプールの容量を使用せず、パブリックプールリソースを使用して直接起動します。

    • [指定]: インスタンスがそのプライベートプールの容量のみを使用して起動するように、プライベートプール ID をさらに選択する必要があります。プライベートプールが利用できない場合、インスタンスの起動は失敗します。

  2. [設定の確認] をクリックします。

    [設定の確認] ページで、左下隅の [同等のコード] をクリックして、現在のノードプール設定に対応する Terraform または SDK コードを生成できます。

    ノードプールリストで、[ステータス][初期化中] の場合、ノードプールが作成中であることを示します。ステータスが [アクティブ] の場合、ノードプールが正常に作成されたことを示します。

ノードプールの編集

ノードプールを作成した後、ACK コンソールで vSwitch、課金方法、インスタンスタイプ、システムディスクなど、一部の設定を調整できます。また、エラスティックスケーリングを有効または無効にすることもできます。更新できる設定の詳細については、「ノードプールの作成」のパラメーター説明をご参照ください。

ノードプールを編集しても、ノードプール内の既存のノードやサービスには影響しません。ノードプールの設定が更新された後、ノードプールに追加されるすべての新しいノードは、デフォルトで新しい設定を使用します。

重要
  • ノードプールの設定の更新は、新しいノードにのみ適用されます。既存のノードは、[ECS タグを既存のノードに同期][ラベルと Taint を既存のノードに同期] などのシナリオを除き、影響を受けません。

  • [スケーリングモード] を変更する場合:

    • モードを [手動] から [自動] に変更すると、自動スケーリングが有効になります。また、インスタンスの最小数と最大数を設定する必要があります。

    • [自動] から [手動] へ: この操作により、自動スケーリングが無効になります。インスタンスの最小数と最大数は、それぞれ 0 と 2000 に設定されます。[ノードの期待数] は、ノードプール内の現在のノード数に自動的に設定されます。

  • このセクションの手順に従ってノードプールの設定を更新してください。他の方法でノードを変更した場合、ノードプールがアップグレードされると変更は上書きされます。

  1. ノードプールのリストでターゲットノードプールを見つけ、[操作] 列の [編集] をクリックします。

  2. ノードプールの編集ページで、プロンプトに従ってノードプールのパラメーターを変更します。

    ノードプールページでは、ノードプールの [ステータス] は変更中は [更新中] になります。変更が完了すると、[ステータス][アクティブ] に変わります。

ノードプールの表示

ノードプールの基本情報、モニタリングデータ、ノード情報、スケーリングアクティビティのレコードを表示できます。

ターゲットノードプールの名前をクリックして、次の情報を表示します。

  • [基本情報] タブ: クラスター情報、ノードプール情報、ノード設定情報を表示します。クラスターで自動スケーリングが有効になっている場合は、自動スケーリング設定も表示されます。

  • [モニタリング] タブ: Alibaba Cloud Prometheus Service と統合して、CPU 使用率、メモリ使用率、ディスク使用率、ノードの平均 CPU およびメモリ使用率など、ノードプールのリソース使用量を表示します。

  • [ノード管理] タブ: 現在のノードプール内のすべてのノードを一覧表示します。このタブでは、ノードの削除、ドレイン、スケジュール、および O&M を実行できます。[エクスポート] をクリックして、ノード情報を CSV ファイルにエクスポートします。

  • [スケーリングアクティビティ] タブ: スケーリング後のインスタンス数やスケーリングアクティビティの説明など、ノードインスタンスの最近のスケーリングアクティビティのレコードを表示します。スケーリングアクティビティが失敗した場合は、失敗の理由を表示できます。スケーリング失敗の一般的なエラーコードの詳細については、「ノードプールを手動でスケーリングする」をご参照ください。

ノードプールの削除

インスタンスをリリースするルールは、課金方法によって異なります。以下の標準的な手順に従って、ノードプールからノードを削除してください。ノードプールを削除する前に、[ノードの期待数]がノードプールに設定されているかどうかを確認してください。これはノードのリリース動作に直接影響するためです。

ノードプール

リリースルール

ノードの期待数が有効なノードプール

  • 従量課金ノードは、ノードプールが削除されるとリリースされます。

  • サブスクリプションノードは、ノードプールが削除されても自動的にリリースされません。

    サブスクリプションノードをリリースするには、インスタンスの課金方法をサブスクリプションから従量課金に変更する」をご参照いただき、サブスクリプションノードを従量課金ノードに変換してから、ECS コンソールにログインしてリリースします。

  • ノードプールを削除すると、その中のすべてのノードが API Server から削除されます。

ノードの期待数が無効なノードプール

  • 手動または自動でノードプールに追加された既存のノードおよびサブスクリプションノードはリリースされません。他のノードはリリースされます。

    サブスクリプションノードをリリースするには、インスタンスの課金方法をサブスクリプションから従量課金に変更する」をご参照いただき、サブスクリプションノードを従量課金ノードに変換してから、ECS コンソールにログインしてリリースします。

  • ノードプール内のリリースされたノードは API Server から削除されます。リリースされていないノードは API Server から削除されません。

  1. (オプション) ターゲットノードプールの名前をクリックし、[基本情報] タブで、[ノードの期待数]が設定されているかどうかを確認します。この機能が有効になっていない場合、[ノードの期待数]フィールドにはハイフン (-) が表示されます。

  2. ターゲットノードプールの [操作] 列で、image > [削除] をクリックします。表示されるダイアログボックスで、確認メッセージを読み、[OK] をクリックします。

    重要

    システムディスクとデータディスクのライフサイクルはノードにバインドされています。ノードがリリースされると、そのディスクもリリースされます。ディスク上のすべてのデータは永久に失われ、回復することはできません。データの永続性を確保するには、PersistentVolume (PV) を使用してストレージを管理します。この方法により、ストレージデータがノードのライフサイクルから切り離され、データのセキュリティが確保されます。

関連操作

ノードプールがアクティブになった後、必要に応じてノードプールリストページで次の操作を実行できます。

UI 要素

説明

リファレンス

ノードプールの同期

ノード情報が異常な場合にノードプールのデータを同期します。

なし

詳細

ノードプールの設定詳細を表示します。

なし

スケール

  • [手動]: ACK は、設定された [ノードの期待数] に維持することで、ノードプール内のノード数を調整します。詳細については、「ノードプールを手動でスケーリングする」をご参照ください。

  • [自動]: クラスターの容量計画がアプリケーション Pod のスケジューリング要件を満たせない場合、ACK は設定された最小および最大のインスタンス数に基づいてノードリソースを自動的にスケーリングします。Kubernetes 1.24 以降のクラスターでは、インスタントノードスケーリング がデフォルトで有効になります。Kubernetes 1.24 より前のバージョンのクラスターでは、ノードの自動スケーリング がデフォルトで有効になります。詳細については、「ノードスケーリング」をご参照ください。

編集

vSwitch、マネージドノードプール設定、課金方法、インスタンスタイプ、エラスティックスケーリングの有効/無効など、ノードプールの設定を調整します。

このトピックの「ノードプールの編集」をご参照ください。

モニタリング

Alibaba Cloud Prometheus Service と統合して、CPU またはメモリ使用率、ディスク使用率、ノードの平均 CPU またはメモリ使用率など、ノードプールのリソース使用量を表示します。

このトピックの「ノードプールの表示」をご参照ください。

既存ノードの追加

購入後に ECS インスタンスを ACK クラスターにワーカーノードとして追加する場合、または削除後にワーカーノードをノードプールに再参加させる場合は、既存ノードの追加機能を使用します。この機能にはいくつかの制限と注意点があります。詳細については、ドキュメントをご参照ください。

既存ノードの追加

ログイン方法の設定

ノードのログイン方法を設定します。キーペアとパスワードの両方の方法がサポートされています。

このトピックの「インスタンスとイメージの設定」をご参照ください。

マネージド設定

ノードプールの自動 O&M を有効にします。これには、自動ノード障害回復、kubelet とランタイムの自動アップグレード、OS CVE の自動修正が含まれます。

このトピックの「基本設定」をご参照ください。

クローン

既存のノードプールに基づいて、同じ設定のノードプールをクローンします。

なし

削除

不要になったノードプールを削除して、不要なリソースの浪費を減らします。ノードプールにノードの期待数が有効になっているかどうか、およびノードの課金モードがノードのリリース動作に影響します。

このトピックの「ノードプールの削除」をご参照ください。

Kubelet 設定

ノードプールレベルでノードの kubelet パラメーター設定をカスタマイズして、ノードの動作を調整します。たとえば、クラスター全体のリソースを予約してリソース使用量を割り当てることができます。

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

Containerd 設定

ノードプールレベルでノードの containerd パラメーター設定をカスタマイズします。たとえば、指定したイメージリポジトリに対して複数のミラーリポジトリを同時に設定したり、特定のイメージリポジトリのセキュリティ証明書検証をスキップするように指定したりできます。

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

OS 設定

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

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

Kubelet アップグレード

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

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

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

ノードのオペレーティングシステムタイプを変更するか、オペレーティングシステムのバージョンをアップグレードします。

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

CVE の修正 (OS)

CVE 脆弱性のバッチ修正を実行して、クラスターの安定性、セキュリティ、コンプライアンスを向上させます。一部の CVE 脆弱性の修正には、ノードの再起動が必要です。機能とその注意点の詳細については、ドキュメントをご参照ください。

ノードプールの OS CVE を修正する

ノードの回復

マネージドノードプール内のノードが異常になった場合、ACK は障害のあるノードに対して自動的に回復操作を開始し、正常な実行を維持します。一部の複雑なノード障害は、依然として手動での修復が必要な場合があります。ACK が提供するチェックと具体的な回復動作の詳細については、ドキュメントをご参照ください。

ノードの自動修復を有効にする

マネージド設定機能の比較

マネージド設定

無効

マネージドノードプール

インテリジェントホスティング

ノードプール設定

インスタンスタイプ

手動設定

手動設定

設定可能。インスタンスタイプによるインテリジェントな推奨をサポートします。

課金方法

手動設定

手動設定

従量課金のみサポートされています。

オペレーティングシステム

手動設定

手動設定

コンテナー最適化 OS ContainerOS のみがサポートされています。

システムディスク

手動設定

手動設定

デフォルトの推奨設定、20 GiB

データディスク

手動設定

手動設定

1 つのデータディスクが ContainerOS オペレーティングシステムの一時ストレージとして使用されます。サイズは設定可能です。

自動スケーリング

有効化はオプション、手動設定

有効化はオプション、手動設定

組み込みの インスタントエラスティックスケーリング が有効で、手動で設定可能

自動 O&M 機能

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

サポートされていません

デフォルトで有効

デフォルトで有効

ノードの自動修復

サポートされていません

有効化はオプション、手動設定

デフォルトで有効

kubelet とランタイムバージョンの自動アップグレード

サポートされていません

有効化はオプション、手動設定

デフォルトで有効

OS CVE 脆弱性の自動修復

サポートされていません

有効化はオプション、手動設定

デフォルトで有効

重要
  • ノードプールでインテリジェントホスティングを有効にすると、ノードプールはワークロードの要件に基づいてノードを動的にスケーリングします。デフォルトでは、ノードプールは最大 50 ノードまでスケールアウトできます。ノードプールのスケーリング機能を使用して、インスタンスの最大数を変更できます。

  • ノードプールでインテリジェントホスティングを有効にすると、ACK はオペレーティングシステム (OS) のアップグレード、ソフトウェアのアップグレード、脆弱性のパッチ適用などの O&M 責任を引き受けます。

    • これらの責任には、ソフトウェアバージョンのアップグレード、ソフトウェア設定の変更、再起動、ドレインエビクションなどのタスクが含まれます。

    • 自動化ポリシーとの競合を防ぐため、ノードの再起動、データディスクのアタッチ、ノードへのログインによる設定変更など、ノードプール内の ECS ノードに対する手動操作は避けてください。

    • ワークロードに適切なレプリカ数を設定し、PreStop グレースフルシャットダウンポリシーを実装し、PodDisruptionBudget ポリシーを確立して、ビジネスを中断することなくノードをメンテナンスのためにドレインできるようにします。

  • ノードプールでインテリジェントホスティングを有効にすると、ACK は不変のルートファイルシステムを使用する ContainerOS オペレーティングシステムに基づいてノードのセキュリティを強化します。HostPath など、ノードのシステムパス上のストレージの使用は避けてください。永続ストレージには PVC を使用することをお勧めします。

  • ノードプールでインテリジェントホスティングを有効にすると、Arm、GPU、ローカルディスクなどのインスタンスタイプはサポートされません。ACK は、ほとんどのシナリオでアプリケーションのニーズを満たすことができるデフォルトのインスタンスタイプを推奨します。ビジネスシナリオに基づいてコンソールでインスタンスタイプを調整することもできます。ノードプールのスケーリングの柔軟性を向上させ、スケーリングの失敗を防ぐために、十分な数のインスタンスタイプを指定することをお勧めします。

  • インテリジェントホスティングは、自動化されたインテリジェントな Kubernetes クラスター O&M 機能を提供することを目的としています。ただし、特定のシナリオでは、依然としていくつかの義務を果たす必要があります。詳細については、「責任共有モデル」をご参照ください。

よくある質問

ECS インスタンスからカスタムイメージを作成し、そのイメージを使用してノードを作成するにはどうすればよいですか。

ECS インスタンスを作成した後、ソフトウェアをインストールしたり、アプリケーション環境をデプロイしたりしてカスタマイズできます。その後、インスタンスからカスタムイメージを作成できます。このカスタムイメージから作成されたインスタンスには、すべてのカスタマイズが含まれているため、繰り返し設定する必要がありません。

  1. ECS インスタンスにログインし、次のコマンドを実行して指定されたファイルを削除します。インスタンスへのログイン方法の詳細については、「Workbench を使用して Linux インスタンスにログインする」をご参照ください。

    chattr -i /etc/acknode/nodeconfig-*
    rm -rf /etc/acknode
    systemctl disable ack-reconfig
    rm -rf /etc/systemd/system/ack-reconfig.service
    rm -rf /usr/local/bin/reconfig.sh
    rm -rf /var/lib/cloud
    systemctl stop kubelet
    systemctl disable kubelet
    rm -rf /etc/systemd/system/kubelet.service
    rm -rf /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
  2. ECS インスタンスからカスタムイメージを作成します。注意点と手順の詳細については、「インスタンスからカスタムイメージを作成する」をご参照ください。

  3. オペレーティングシステムタイプを [カスタムイメージ] に設定してノードプールを構成し、このトピックで前述したように作成プロセスを完了します。

重要
  • ACK クラスターでサポートされているオペレーティングシステムに基づいてカスタムイメージを作成します。詳細については、「オペレーティングシステム」をご参照ください。

  • ACK クラスターで実行中の ECS インスタンスからカスタムイメージを作成しないでください。そのためには、まずクラスターからインスタンスを削除します。詳細については、「ノードの削除」をご参照ください。

  • カスタムイメージ内の事前定義された動作ロジックは、クラスターノードの初期化、コンテナーの実行、ノード OS のアップグレード、およびマネージドノードプールでの自動ノード回復に影響を与える可能性があります。本番環境で使用する前に、厳密なテストと検証が行われていることを確認してください。

リファレンス

  • ノードが不要になった場合は、標準的な手順に従って削除します。詳細については、「ノードの削除」をご参照ください。

  • ACK は、kube コンポーネントとシステムプロセスのために一定量のノードリソースを予約します。詳細については、「ノードリソースの予約ポリシー」をご参照ください。

  • クラスターの計画容量がアプリケーション Pod のスケジューリング要件を満たせない場合は、ノードスケーリング を有効にしてノードリソースを自動的にスケーリングします。詳細については、「ノードスケーリング」をご参照ください。

  • 単一のワーカーノードがサポートできる Pod の最大数は、ネットワークプラグインの種類に影響され、ほとんどのシナリオでは変更できません。利用可能な Pod の数を増やすには、ノードプールをスケールアウトするか、インスタンスの仕様をアップグレードするか、クラスターを再作成して Pod CIDR ブロックを再計画します。詳細については、「ノードで利用可能な Pod の数を調整する」をご参照ください。