Container Service for Kubernetes (ACK) クラスターのノードは、コンテナ化されたアプリケーションの実行に使用される物理マシンまたは仮想マシンです。 ノードプールは、同じ構成を持つノード、または同じ仕様、ゾーン、ラベル、およびテイントを持つノードなど、同じ目的で使用されるノードのグループです。 ノードプールは、クラスタ内のノードの管理およびO&Mを容易にする。 ノードプールを作成するとき、または既存のノードプールの設定を変更するときに、ノード属性を指定できます。
前提条件
ACKクラスターが作成されます。 詳細については、「ACK管理クラスターの作成」をご参照ください。
ノードプールの種類
通常ノードプール: 通常ノードプールを使用して、仕様、ラベル、テイントなどの構成が同じノードのセットを管理できます。 詳細については、「ノードプールの概要」をご参照ください。
マネージドノードプール: マネージドノードプールは、自動共通脆弱性とエクスポージャー (CVE) 脆弱性のパッチ適用や自動ノード修復などの自動O&M機能を提供します。 詳細については、「マネージドノードプールの概要」をご参照ください。
説明ACK Proクラスターのみがマネージドノードプールをサポートしています。
2種類のノードプールの違いの詳細については、「管理対象ノードプールの概要」トピックの「管理対象ノードプールと通常ノードプールの比較」をご参照ください。
手順
ノードプールを作成または変更しても、他の既存のノードプールのノードおよびサービスは影響を受けません。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
[ノードプール] ページで、[ノードプールの作成] をクリックします。 [ノードプールの作成] ダイアログボックスで、次の表に示すパラメーターを設定します。
基本設定
詳細設定
[詳細オプション (オプション)] を展開して、ノードのスケーリングポリシーを設定します。
パラメーター
説明
スケーリングポリシー
優先度: システムは、ノードプールに対して選択したvSwitchの優先度に基づいてノードプールをスケーリングします。 選択したvSwitchは、優先度の高い順に表示されます。 Auto ScalingがvSwitchのゾーンで最も優先度の高いECSインスタンスの作成に失敗した場合、Auto ScalingはvSwitchのゾーンでより優先度の低いECSインスタンスの作成を試みます。
コスト最適化: システムは、vCPU単価に基づいて昇順でインスタンスを作成します。 スケーリング設定で複数のプリエンプティブインスタンスタイプが指定されている場合、プリエンプティブインスタンスは優先的に作成されます。 在庫不足などの理由でプリエンプティブルインスタンスを作成できない場合、システムは従量課金インスタンスの作成を試みます。
[課金方法] が [プリエンプティブルインスタンス] に設定されている場合、[補足プリエンプティブルインスタンスの有効化] パラメーターに加えて、次のパラメーターを設定できます。
従量課金インスタンスの割合: ノードプールは、指定された割合の従量課金 (プリエンプティブルでない) インスタンスを割り当てます。 この比率を超えるリクエストは、プリエンプティブルインスタンスによって処理されます。
追加の従量課金インスタンスの有効化: この機能を有効にすると、Auto Scalingは、単価が高すぎる、またはプリエンプティブルインスタンスが在庫切れなどの理由でプリエンプティブルインスタンスの作成に失敗した場合、スケーリング要件を満たす従量課金ECSインスタンスの作成を試みます。
配布バランシング: 均等配布ポリシーは、複数のvSwitchを選択した場合にのみ有効になります。 このポリシーにより、ECSインスタンスがスケーリンググループのゾーン (vSwitch) に均等に分散されます。 在庫不足などの理由でECSインスタンスがゾーン全体に不均一に分散している場合は、リバランス操作を実行できます。
重要ノードプールの作成後にノードプールのスケーリングポリシーを変更することはできません。
[課金方法] が [プリエンプティブルインスタンス] に設定されている場合、[補足プリエンプティブルインスタンスの有効化] をオンにするかどうかを指定できます。 この機能が有効になった後、プリエンプティブルインスタンスが再利用されたことを示すシステムメッセージが受信されると、自動スケーリングが有効になっているノードプールは、再利用されたプリエンプティブルインスタンスを置き換える新しいインスタンスの作成を試みます。
[詳細オプション (オプション)] を展開して、リソースグループ、ECSタグ、テイントなどのパラメーターを設定します。
[注文の確認] をクリックします。
ノードプールリストのノードプールの [ステータス] 列に [初期化] が表示されている場合、ノードプールは作成中です。 ノードプールが作成されると、ノードプールの [ステータス] 列に [アクティブ] が表示されます。
次に何をすべきか
ノードプールの作成後、ノードプールのリストで、次の表に示す操作のいずれかを実行できます。
UI | 説明 | 関連ドキュメント |
同期ノードプール | ノード情報に異常がある場合は、ノードプールを同期できます。 | 非該当 |
詳細 | ノードプールの詳細を表示します。 | 非該当 |
編集 | ノードプールの設定を変更します。 たとえば、ノードプールのvSwitch、管理対象ノードプールの設定、課金方法、インスタンスタイプ、または自動スケーリング設定を変更できます。 | |
モニター | Managed Service for Prometheusによって収集されたECSインスタンスに関する基本的なモニタリング情報を表示します。 | |
スケール | 予想されるノード数を調整して、ノードプールをスケーリングします。 そのため、コストを削減できます。 | |
ログオンモード | ノードプールのログオンモードを変更します。 [キーペア] と [パスワード] ログオンモードを選択できます。 | このトピックの基本設定セクション |
管理対象ノードプールの設定 | 自動復旧ルール、自動更新ルール、自動CVE脆弱性パッチ適用など、管理対象ノードプールの設定を構成します。 | このトピックの基本設定セクション |
既存のノードの追加 | 既存のECSインスタンスをクラスターに自動的または手動で追加します。 | |
クローン | 現在のノードプール設定に基づいて、予想される数のノードを含むノードプールをクローンします。 | 非該当 |
ノード修復 | 管理対象ノードプール内のノードで例外が発生した場合、ACKは自動的にノードを修復します。 | |
CVEパッチ (OS) | 数回クリックするだけで、ノードのリスクの高いCVE脆弱性にパッチを適用できます。 | |
Kubeletの設定 | kubelet設定を変更します。 | |
OS構成 | Linuxシステムの既定のOSパラメーターがビジネス要件を満たしていない場合は、ノードプール内のノードのOSパラメーターをカスタマイズできます。 | |
変更オペレーティングシステム | ノードのオペレーティングシステムタイプを変更するか、オペレーティングシステムのバージョンをアップグレードします。 | 非該当 |
Kubeletアップデート | ノードプールレベルでノードを更新します。これには、kubeletとコンテナランタイムの更新が含まれます。 | |
削除 | 現在のノードプールを削除してコストを節約します。 |
よくある質問
既存のECSインスタンスに基づいてカスタムイメージを作成し、それを使用してノードを作成するにはどうすればよいですか。
ECSインスタンスを作成したら、ソフトウェアのインストールやアプリケーション環境のデプロイなど、ビジネス要件に基づいてカスタマイズできます。 次に、このインスタンスからカスタムイメージを作成できます。 このイメージから作成されたインスタンスにはすべてのカスタム設定が含まれているため、新しいインスタンスごとにこれらのアイテムを設定する必要がありません。
ECSインスタンスにログインし、次のコマンドを実行して、指定されたファイルを削除します。 インスタンスへのログイン方法の詳細については、「Workbenchを使用したSSH経由の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
ECSインスタンスに基づいてカスタムイメージを作成します。 考慮事項と詳細な手順の詳細については、「インスタンスからのカスタムイメージの作成」をご参照ください。
ノードプールを設定し、[オペレーティングシステム] の [カスタムイメージ] を選択します。 上記の手順に従って、ノードプールの作成を完了します。
ACKクラスターでサポートされているオペレーティングシステムに基づいてカスタムイメージを作成します。 詳細については、「OSイメージ」をご参照ください。
ACKクラスターで実行中のECSインスタンスにカスタムイメージを構築しないでください。 これを行うには、まずクラスターからECSインスタンスを削除する必要があります。 詳細については、「ノードの削除」をご参照ください。
カスタムイメージ内の事前定義された動作ロジックは、クラスタノードの初期化、コンテナの起動、ノードの更新、管理対象ノードプール内のノードの自動回復などの操作に影響を与える可能性があります。 本番環境で使用する前に、カスタムイメージがテストおよび検証済みであることを確認してください。
関連ドキュメント
ノードが不要になった場合は、[ノードの削除] の手順に従ってノードを削除します。
ACKは、Kubernetesコンポーネントとシステムプロセスを実行するために一定量のノードリソースを予約します。 詳細については、「リソース予約ポリシー」をご参照ください。
ノードスケーリング機能を使用すると、現在のクラスター内のリソースがポッドスケジューリングを実行できない場合にACKでノードを自動的にスケーリングできます。 詳細については、「ノードスケーリングの概要」をご参照ください。