このトピックでは、Container Service for Kubernetes (ACK) コンソールでワーカーノードを管理するための一般的な操作の概要を説明します。 詳細な操作と関連する使用法のメモについては、このトピックを読むことができます。
ほとんどの操作は、[ノード] ページでアクセスできます。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
ノードログイン
ノードのトラブルシューティング、パフォーマンスモニタリング、カスタムスクリプトの実行などのシナリオでは、ノードの対応するECSインスタンスにログインできます。
ワークベンチ接続: ノードリストの [操作] 列で、
を選択します。VNC接続: ノードリストの [操作] 列で、
を選択します。
ECSインスタンスへの追加のリモート接続方法については、「ECSインスタンスへの接続方法」をご参照ください。
お使いのオペレーティングシステムがContainerOSの場合、セキュリティリスクを軽減するために、ContainerOSは追跡不可能な操作に対するダイレクトログオンをサポートせず、SSH機能を欠いています。 必要なメンテナンス操作については、「ContainerOSの管理コンテナでの作業」をご参照ください。
ノードのドレインとスケジューリングのステータス
ノードのドレイン
ノードリストの [操作] 列で、
を選択し、画面のプロンプトに従ってノードをドレインします。 このプロセスでは、既存のポッドをノードから退避し、スケジュール不可としてマークして、新しいポッドがスケジュールされないようにします。以下の注意事項に注意してください。
クラスタ内の他のノードに十分なリソースを確保して、アプリケーションポッドがスケジュール不能になるのを防ぎます。
ノードの削除後に他のノードでの継続的なスケジューリング可能性を確保するために、削除するノードのポッドのノードアフィニティルールとスケジューリングポリシーを確認します。
DaemonSetが管理するポッドは追い出されません。
ノードのスケジューリングステータスの変更
ノードリストから目的のノードを選択し、ページ下部の [スケジュールステータスの設定] をクリックします。 ダイアログボックスの注意事項を注意深く読み、ページ上のプロンプトに従って操作を完了してください。
以下の注意事項に注意してください。
この操作は、業務に影響を与える可能性があるため、オフピーク時に実行する必要があります。
ノードがスケジュール不可に設定されると、SchedulingDisabledとしてラベル付けされます。 ノード上の既存のポッドは引き続き外部でサービスを提供しますが、新しいポッドはこのノードにスケジュールされません。
DaemonSetが管理するポッドは削除されません。
ノードの削除
ワーカーノードが不要になった場合は、オフピーク時にACKコンソールを介してノードプールまたはクラスターから削除できます。 ノードリストの [操作] 列で、
を選択するか、ノードを選択してページ下部の [一括削除] をクリックします。 次に、画面上のプロンプトに従ってプロセスを完了します。関連する注意事項と機能の詳細については、「ノードの削除」をご参照ください。
ノードモニタリング
[操作] 列の [モニター] をクリックしてコンポーネントをインストールし、ノードリソースダッシュボードを表示するためにManaged Service for Prometheusを有効にします。 Managed Service For Prometheusでのモニタリングアラートの設定については、「手順3 :( オプション) Managed Service for Prometheusでのアラートルールの設定」をご参照ください。
異常ノードステータスのカスタムPromQLアラートルールの作成については、「Prometheusでアラートルールを設定するためのベストプラクティス」をご参照ください。
ノード障害診断
異常なノードの問題を診断するには、[操作] 列の [例外診断] をクリックします。 これは検査を開始し、修理計画を提供します。 サポートされている診断シナリオ、検査項目、および修復計画の詳細については、「ノード診断」をご参照ください。
ノードのラベルとテイントの管理
ラベルとテイントを使用してクラスターリソースを管理およびスケジュールするには、[ノード] ページに移動し、[ラベルとテイントの管理] をクリックし、ガイドに従ってラベル名と値を設定します。 詳細については、「制御プレーンノードのラベルとテイントの管理」をご参照ください。
ノードのバッチ操作
セキュリティ用のオペレーティングシステムカーネルの更新、カスタムモニタリング、セキュリティ、監査パッケージのインストールなど、ACKクラスター内のワーカーノードでバッチ操作を実行するには、ノードリストから目的のノードを選択します。 次に、ページの下部にある [バッチ操作] をクリックし、コンソールガイドに従ってプロセスを完了します。 詳細については、「ノードのバッチ管理」をご参照ください。
ノード情報の表示
ノードリストの [操作] 列で、
を選択して、ノードのYAMLテンプレートを表示します。ノードリストの [操作] 列で、
を選択してノード情報を表示します。CPUとメモリ使用量
CPU要求=合計 (ノード上のすべてのポッドによる要求CPUリソース) /ノード上の合計CPUリソース
CPU使用率=合計 (ノード上のすべてのポッドによる使用CPUリソース) /ノード上の合計CPUリソース
メモリ要求=合計 (ノード上のすべてのポッドによる要求されたメモリリソース) /ノード上のメモリリソースの合計
メモリ使用率=合計 (ノード上のすべてのポッドによる使用メモリリソース) /ノード上のメモリリソースの合計
説明割り当て可能なリソース=リソース容量-予約リソース-除外しきい値。 詳細は、「リソース予約ポリシー」をご参照ください。
基本ノード情報
ノード名、IPアドレス、インスタンスID、コンテナランタイムバージョン、オペレーティングシステム、カーネルなどが含まれます。
その他の情報
ノードCPUとメモリリソースの割り当て (要求と制限) 、ノードステータス、ポッドリスト、ノードイベントなどの詳細。
関連ドキュメント
ACKで提供されるリソースプロファイリング機能を使用して、リソース使用量の履歴データに基づいてコンテナーのリソース構成の提案を取得できます。 これにより、リソース要求の設定とコンテナの制限が簡素化されます。 詳細については、「リソースプロファイリング」をご参照ください。
アプリケーションポッドのリソースを構成する方法の詳細については、「デプロイを使用したステートレスアプリケーションの作成」をご参照ください。
ノードラベルとノードセレクターを設定して、アプリケーションポッドを特定のノードにスケジュールします。 詳細については、「特定のノードへのポッドのスケジュール」をご参照ください。
ワーカーノードリソースのスケールアップまたはスケールダウンに関するガイダンスについては、「ノードリソースのアップグレードまたはダウングレード」をご参照ください。
コンテナランタイムやkubeletなどのリソースを格納するためにデータディスクをノードに追加するには、「データディスクのノードへの接続」をご参照ください。
データディスクまたはシステムディスクのサイズを変更する方法の詳細については、「ノードのシステムディスクまたはデータディスクの拡張」をご参照ください。
kubeletバージョンとランタイムバージョンを含むノードのアップグレードは、ノードプールレベルで管理されます。 詳細については、「ノードプールの更新」をご参照ください。