グループ内のノードを管理し、ノードのO&Mを簡素化する場合は、クラスターのContainer Service for Kubernetes (ACK) のマネージドノードプール機能を有効にして、OS Common Vulnerabilities and Exposures (CVE) パッチ、kubeletの更新、ノードの再起動などのノードのO&Mタスクを自動化できます。 通常のノードプールと比較して、マネージドノードプールはカスタムO&M機能を提供します。
管理対象ノードプールの概要
適用シナリオ
ユーザーは、ワーカーノードのO&Mではなく、アプリケーション開発に重点を置いています。
ユーザーは、ワークロードの不変性の代わりに弾力性を必要とします。 アプリケーションのポッドは、ノードの変更に敏感ではなく、移行に耐性があります。
アーキテクチャ
使用上の注意
準備
管理対象ノードプールは、クラスターのメンテナンスウィンドウ内で自動O&Mタスクを実行できます。 ACKコンソールの [ノードプール] ページで、管理対象ノードプールを選択し、[操作] 列の [管理対象ノードプールの設定] をクリックします。 表示されるダイアログボックスで、クラスターのメンテナンスウィンドウを設定できます。
マネージドノードプールのOS CVEパッチ機能は、Security Centerに依存しています。 Security Center Enterprise Edition以上を購入し、Security Centerで保護できるサーバーの十分なクォータを確保する必要があります。 ACKは追加料金を請求しません。 詳細については、「セキュリティセンターの購入」および「機能と機能」をご参照ください。
マネージドノードプールに関するアラート通知を受信できるように、イベントセンターを有効にすることを推奨します。 イベントセンターを有効にする方法の詳細については、「イベントモニタリング」をご参照ください。
システムがノードの異常を検出できるように、ack-node-problem-detectorをインストールすることを推奨します。 ack-node-problem-detectorの詳細については、「ack-node-problem-detector」をご参照ください。
使用上の注意
ノードプールの更新
管理対象ノードプールは、ノードのシステムディスクを置き換えることによってノードを更新します。 ノードが更新された後、以前のシステムディスクに保存されていたデータは削除されます。 ノードにマウントされているデータディスクは影響を受けません。 システムディスクを使用してデータを保持しないでください。
排水
管理対象ノードプールがノードのシステムディスクを置き換える前に、ノードプールはノードを無効にしてドレインします。 これにより、ノードのポッドが再起動され、永続的な接続が中断されます。 ノードのシステムディスクを交換してノードを更新する前に、ACKは
kubectl cordon
コマンドを実行するか、ACKコンソールを使用してノードをスケジュール不可に設定します。 次に、ACKはノード上のポッドを追い出します。 ポッドが30分以内に追い出されない場合、ACKは強制的にシステムディスクを置き換えます。オート修理
管理対象ノードプールは、ノードプール内のノードのステータスを監視します。 ノードのステータスが10分以上報告されない場合、またはノードがNotReady状態にある場合、ACKはノードを再起動し、ノードのワークロードを復元します。 この場合、ノードのポッドが再起動されます。
管理対象ノードプールと通常ノードプールの比較
ACKは、通常のノードプールと管理対象ノードプールを提供します。 ノードプールのタイプを変更するには、ACKコンソールの [ノードプール] ページに移動し、管理するノードプールを見つけて、[操作] 列の [管理対象ノードプールの有効化] または [管理対象ノードプールの無効化] をクリックします。
通常ノードプール: 通常ノードプールを使用して、仕様、ラベル、テイントなどの構成が同じノードのコレクションを管理できます。 通常のノードプール内のノードを手動で管理および維持できます。
マネージドノードプール: 通常のノードプールと比較して、マネージドノードプールは、自動高リスクの脆弱性パッチ適用や自動ノード修復などの自動O&M機能を提供します。
説明マネージドノードプールは、O&M作業の簡素化に役立ちます。 ただし、複雑なノードの問題を手動で修正する必要がある場合があります。 自動ノード修復の詳細については、「マネージドノードプールの自動修復」をご参照ください。
次の表は、管理対象ノードプールと通常ノードプールを比較しています。
比較 | 通常ノードプール | 管理対象ノードプール |
O&M | ユーザーによって管理されます。 | ACKによって部分的に管理される。 |
ノードの修復 | 手動で実行 | ノードの異常は自動的に検出および修復されます。 ノードの再起動によるノードの修復を許可するかどうかを設定できます。 |
OS CVEパッチ | 手動でトリガー | OS CVEパッチは、高重大度、中重大度、および低重大度の脆弱性をパッチするように自動的にトリガーできます。 |
マイナーkubeletバージョンの更新 | 手動で実行。 | マイナーkubeletバージョンの更新は自動的に実行できます。 |
containerdの更新 | 手動で実行。 | containerdの更新は自動的に実行できます。 デフォルトでは、containerdの主要なOS CVE脆弱性は自動的にパッチされます。 |
ContainerOSイメージIDの更新 | サポートされていません。 | マネージドノードプールで使用されるContainerOSイメージは自動的に最新バージョンに更新され、新しく追加されたノードで最新のOSイメージが使用されるようになります。 |
関連ドキュメント
既存のノードを作成、表示、変更、スケール、削除、追加、またはノードプールからノードを削除する方法の詳細については、「ノードプール管理」をご参照ください。
ノードプールの更新、管理ノードプールの自動修復、およびノードプールのOS CVEパッチ適用の詳細については、「ノードプールのO&M」をご参照ください。
デプロイメントセットをノードプールに関連付けるためのベストプラクティス、プリエンプティブルインスタンスベースのノードプールのためのベストプラクティス、およびノードプールに無料のノードを追加する方法の詳細については、「ノードプールのベストプラクティス」をご参照ください。
ノードとノードプールに関するFAQの詳細については、「ノードとノードプールに関するFAQ」をご参照ください。