ノードのヘルス問題を検出し、自動ノード修復を有効にする - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

ノードのヘルス問題を検出し、自動ノード修復を有効にする

ノードのヘルスとは、ワークロードを効果的に実行するための Kubernetes ノードの運用ステータスと機能を指します。正常なノードは、期待されるネットワーク接続を維持し、十分なコンピューティングリソースとストレージリソースを持ち、中断することなくワークロードを正常に実行できます。

EKS クラスター内のノードを正常な状態に維持するために、EKS にはノードモニタリングエージェント自動ノード修復の機能があります。これらの機能は、EKS Auto Mode コンピューティングで自動的に有効になります。EKS マネージド型ノードグループと Karpenter で自動ノード修復を使用でき、AWS Fargate を除く任意の EKS コンピューティングタイプで EKS ノードモニタリングエージェントを使用することもできます。EKS ノードモニタリングエージェントと自動ノード修復は、一緒に使用すると最も効果的ですが、EKS クラスターで個別に使用することもできます。

重要

ノードモニタリングエージェントノード自動修復を使用できるのは、Linux のみです。Windows では使用できません。

ノードモニタリングエージェント

EKS ノードモニタリングエージェントはノードログを読み取り、ヘルスの問題を検出します。ログを解析して障害を検出し、ノードのヘルスステータスに関するステータス情報を表示します。検出された問題のカテゴリごとに、エージェントはワーカーノード専用の NodeCondition を適用します。EKS ノードモニタリングエージェントによって検出されたノードのヘルス問題の詳細については、「EKS ノードモニタリングエージェントのノードのヘルス問題を検出する」を参照してください。

EKS Auto Mode コンピューティングには、ノードモニタリングエージェントが備わっています。他の EKS コンピューティングタイプでは、ノードモニタリングエージェントを EKS アドオンとして追加することも、Helm などの Kubernetes ツールで管理することもできます。詳細については、「ノードモニタリングエージェントを設定する」を参照してください。

EKS ノードモニタリングエージェントでは、以下のカテゴリのノードのヘルス問題がノード条件として表示されます。ReadyDiskPressureMemoryPressure は、EKS ノードモニタリングエージェントがない場合でも表示される標準の Kubernetes ノード条件です。

ノードの状態 説明

AcceleratedHardwareReady

AcceleratedHardwareReady は、ノードの高速ハードウェア (GPU、Neuron) が正しく機能しているかどうかを示します。

ContainerRuntimeReady

ContainerRuntimeReady は、コンテナランタイム (containerd など) が正しく機能し、コンテナを実行できるかどうかを示します。

DiskPressure

DiskPressure は、ノードにディスクプレッシャー (ディスク容量が少ない、または I/O が高い) が発生していることを示す標準の Kubernetes 条件です。

KernelReady

KernelReady は、重大なエラー、パニック、またはリソースの枯渇が発生することなく、カーネルが正しく機能しているかどうかを示します。

MemoryPressure

MemoryPressure は、ノードにメモリプレッシャー (使用可能なメモリが少ない) が発生していることを示す標準の Kubernetes 条件です。

NetworkingReady

NetworkingReady は、ノードのネットワークスタック (インターフェイス、ルーティング、接続) が正しく機能しているかどうかを示します。

StorageReady

StorageReady は、ノードのストレージサブシステム (ディスク、ファイルシステム、I/O) が正しく機能しているかどうかを示します。

Ready

Ready は、ノードが正常でポッドを受け入れる準備ができていることを示す標準の Kubernetes 条件です。

自動ノード修復

EKS 自動ノード修復は、ノードのヘルスを継続的にモニタリングし、検出された問題に対応し、可能な場合はノードを置き換えるか再起動します。これにより、手動介入を最小限に抑えながらクラスターの信頼性を向上させ、アプリケーションのダウンタイムを短縮できます。

単体では、EKS 自動ノード修復は、kubelet の Ready 条件、手動で削除されたノードオブジェクト、クラスターに参加できない EKS マネージド型ノードグループインスタンスに対応します。ノードモニタリングエージェントをインストールした状態で EKS 自動ノード修復を有効にすると、EKS 自動ノード修復は次の追加のノード条件に対応します: AcceleratedHardwareReadyContainerRuntimeReadyKernelReadyNetworkingReadyStorageReady

EKS 自動ノード修復は、標準の Kubernetes DiskPressureMemoryPressure、または PIDPressure ノード条件には対応しません。これらの条件は、多くの場合、ノードレベルの障害ではなく、アプリケーションの動作、ワークロード設定、またはリソース制限の問題を示しているため、適切なデフォルトの修復アクションを決定することは困難です。これらのシナリオでは、ワークロードは Kubernetes ノードのプレッシャーエビクション動作の影響を受けます。

EKS 自動ノード修復の詳細については、「EKS クラスター内のノードを自動的に修復する」を参照してください。

トピック