このトピックでは、Container Service for Kubernetes (ACK) コンソールでワーカーノードを管理するための一般的な操作をまとめています。詳細な操作と関連する使用上の注意については、このトピックをご参照ください。
ほとんどの操作は [ノード] ページからアクセスできます。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、変更するクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ノードへのログイン
ノードのトラブルシューティング、パフォーマンスモニタリング、カスタムスクリプトの実行などのシナリオでは、ノードに対応する ECS インスタンスにログインできます。
Workbench 接続: ノードリストの [アクション] 列で、 を選択します。
VNC 接続: ノードリストの [アクション] 列で、 を選択します。
ECS インスタンスへの追加のリモート接続方法については、「ECS インスタンスへの接続方法」をご参照ください。
オペレーティングシステムが ContainerOS の場合、セキュリティリスクを軽減するため、ContainerOS は追跡不可能な操作のための直接ログインをサポートしておらず、SSH 機能もありません。必要なメンテナンス操作については、「ContainerOS ノードのメンテナンス」をご参照ください。
ノードのドレインとスケジューリングステータス
ノードのドレイン
ノードリストの [アクション] 列で、 を選択し、画面の指示に従ってノードをドレインします。このプロセスにより、既存の Pod がノードから退避され、ノードはスケジュール不可としてマークされ、新しい Pod がそのノードにスケジュールされないようになります。
次の注意事項にご注意ください:
クラスター内の他のノードに十分なリソースがあることを確認し、アプリケーション Pod がスケジュール不可になるのを防ぎます。
削除するノード上の Pod のノードアフィニティルールとスケジューリングポリシーを確認し、削除後も他のノードで継続してスケジュール可能であることを確認します。
DaemonSet によって管理されている Pod は退避されません。
ノードのスケジューリングステータスの変更
ノードリストから目的のノードを選択し、ページ下部の [スケジューリングステータスの設定] をクリックします。ダイアログボックスの注意事項をよく読み、ページの指示に従って操作を完了します。
次の注意事項にご注意ください:
この操作はビジネス運用に影響を与える可能性があるため、オフピーク時に実行する必要があります。
ノードがスケジュール不可に設定されると、SchedulingDisabled というラベルが付けられます。ノード上の既存の Pod は外部へのサービスを継続しますが、新しい Pod はこのノードにスケジュールされません。
DaemonSet によって管理されている Pod は削除されません。
ノードの削除
ワーカーノードが不要になった場合は、オフピーク時に ACK コンソール経由でノードプールまたはクラスターから削除できます。ノードリストの [アクション] 列で、 を選択するか、ノードを選択してページ下部の [バッチ削除] をクリックします。その後、画面の指示に従ってプロセスを完了します。
関連する注意事項と機能の詳細については、「ノードの削除」をご参照ください。
ノードのモニタリング
ノードリストの [アクション] 列で [モニター] をクリックし、画面の指示に従ってコンポーネントをインストールし、Alibaba Cloud Prometheus を有効にしてノードリソースのダッシュボードを表示します。Alibaba Cloud Prometheus を使用したモニタリングアラートの設定に関する詳細については、「Prometheus でのアラートルールの設定」をご参照ください。
異常なノードステータスに対してカスタムの Prometheus Query Language (PromQL) アラートルールを作成する方法については、「異常なノードステータス」をご参照ください。
ノードのエラー診断
ノードリストの [アクション] 列で、異常なノードの [例外診断] をクリックしてノードの検査を実行し、対応する修復ソリューションを取得します。サポートされている診断シナリオ、検査項目、および修復ソリューションについては、「ノード診断」をご参照ください。
ノードのラベルと Taint の管理
ラベルと Taint を使用してクラスターリソースを管理およびスケジュールするには、[ノード] ページに移動し、[ラベルと Taint の管理] をクリックし、ページの指示に従ってラベルまたは Taint の名前と値を設定します。詳細については、「ノードのラベルと Taint の管理」をご参照ください。
ノード情報の表示
ノードリストの [アクション] 列で、 を選択して、ノードの YAML テンプレートを表示します。
ノードリストの [アクション] 列で、[詳細] をクリックしてノード情報を表示します。
CPU とメモリの使用量
CPU リクエスト = sum(ノード上のすべての Pod によってリクエストされた CPU リソースの量)/ノード上の CPU リソースの総量
CPU 使用率 = sum(ノード上のすべての Pod によって使用された CPU リソースの量)/ノード上の CPU リソースの総量
メモリリクエスト = sum(ノード上のすべての Pod によってリクエストされたメモリリソースの量)/ノード上のメモリリソースの総量
メモリ使用率 = sum(ノード上のすべての Pod によって使用されたメモリリソースの量)/ノード上のメモリリソースの総量
説明割り当て可能なリソース = リソース容量 - 予約済みリソース - 排除のしきい値。詳細については、「リソース予約ポリシー」をご参照ください。
基本的なノード情報
ノード名、IP アドレス、インスタンス ID、コンテナーランタイムバージョン、オペレーティングシステム、カーネルなどが含まれます。
その他の情報
ノードの CPU およびメモリリソース割り当て (リクエストとリミット)、ノードステータス、Pod リスト、ノードイベントなどの詳細。
ノードのバッチ管理
オペレーティングシステムのカーネルセキュリティ更新プログラムのインストールや、カスタムのモニタリング、セキュリティ、監査パッケージのインストールなど、クラスター内のワーカーノードをバッチで管理して、O&M 効率を向上させることができます。この機能を使用する前に、OOS コンソールで CloudOps Orchestration Service (OOS) を有効化していることを確認してください。OOS は、テンプレートを介した自動タスク実行をサポートしています。
この機能は、インテリジェント管理モードが有効になっているクラスターではサポートされていません。
[ノード] ページで、ターゲットノードを選択し、ノードリストの下部にある [バッチ O&M] をクリックし、ダイアログボックスでターゲットの O&M 操作を選択して、[OK] をクリックします。
次のバッチ O&M 操作がサポートされています:
オペレーティングシステムのカーネルセキュリティ更新プログラムをインストールします。
カスタムパッケージをインストールします。
YUM または APT パッケージをインストールまたはアンインストールします。
シェルスクリプトを実行します。
自動的に表示される OOS インターフェイスで、「実行の作成」をご参照いただき、画面の指示に従って基本的なタスク情報と関連パラメーターを設定し、[作成] をクリックして実行の作成と送信を完了します。
OOS の実行が作成されると、自動的に OOS コンソールの [実行管理] ページにリダイレクトされます。作成された実行 ID 名をクリックして、実行ステータス、ステップ、結果などを表示します。タスク実行の詳細については、「実行の概要」をご参照ください。
関連ドキュメント
アプリケーション Pod のリソースを設定する方法の詳細については、「Deployment を使用してステートレスアプリケーションを作成する」をご参照ください。
ノードラベルとノードセレクターを設定して、アプリケーション Pod を特定のノードにスケジュールします。詳細については、「アプリケーション Pod を指定されたノードにスケジュールする」をご参照ください。
ワーカーノードリソースのスケールアップまたはスケールダウンに関するガイダンスについては、「ワーカーノードの構成をアップグレードまたはダウングレードする」をご参照ください。
コンテナーランタイムや kubelet などのリソースを格納するためにノードにデータディスクを追加するには、「ノードにデータディスクをアタッチする」をご参照ください。
データディスクまたはシステムディスクのサイズを変更する方法の詳細については、「ノードのシステムディスクまたはデータディスクのサイズを変更する」をご参照ください。
kubelet やランタイムバージョンを含むノードのアップグレードは、ノードプールレベルで管理されます。詳細については、「ノードプールを更新する」をご参照ください。