

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

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

# ノードのヘルスステータスを表示する
<a name="learn-status-conditions"></a>

このトピックでは、Amazon EKS クラスターのノードのヘルスステータスをモニタリングするために使用可能なツールと方法について説明します。この情報には、ノードレベルの問題の特定と診断に役立つノードの状態、イベント、検出ケースが取り上げられます。ここで説明するコマンドとパターンを使用して、ノードのヘルスリソースを検査し、ステータス条件を解明し、ノードイベントを分析して運用上のトラブルシューティングを行います。

すべてのノードに対して Kubernetes コマンドを使用して、ノードのヘルス情報を取得できます。また、Amazon EKS Auto Mode または Amazon EKS マネージドアドオンを介してノードモニタリングエージェントを使用すると、トラブルシューティングに役立つさまざまなノードシグナルが得られます。ノードモニタリングエージェントによって検出されたヘルス問題の説明は、オブザーバビリティダッシュボードでも確認できます。詳細については、「[EKS ノードモニタリングエージェントのノードのヘルス問題を検出する](node-health-nma.md)」を参照してください。

## ノードの状態
<a name="status-node-conditions"></a>

ノードの状態は、インスタンスの置き換えや再起動などの修復アクションを必要とするターミナルの問題を表します。

 **すべてのノードの状態を取得するには:** 

```
kubectl get nodes -o 'custom-columns=NAME:.metadata.name,CONDITIONS:.status.conditions[*].type,STATUS:.status.conditions[*].status'
```

 **特定のノードの詳細な状態を取得するには** 

```
kubectl describe node {{node-name}}
```

 **正常なノードの状態の出力の例:** 

```
  - lastHeartbeatTime: "2024-11-21T19:07:40Z"
    lastTransitionTime: "2024-11-08T03:57:40Z"
    message: Monitoring for the Networking system is active
    reason: NetworkingIsReady
    status: "True"
    type: NetworkingReady
```

 **ネットワーク形成の問題がある異常なノードの状態の例:** 

```
  - lastHeartbeatTime: "2024-11-21T19:12:29Z"
    lastTransitionTime: "2024-11-08T17:04:17Z"
    message: IPAM-D has failed to connect to API Server which could be an issue with
      IPTable rules or any other network configuration.
    reason: IPAMDNotReady
    status: "False"
    type: NetworkingReady
```

## ノードイベント
<a name="status-node-events"></a>

ノードイベントは、一時的な問題または最適ではない設定を示します。

 **ノードモニタリングエージェントによって報告されたすべてのイベントを取得するには** 

ノードモニタリングエージェントが使用可能になったら、次のコマンドを実行できます。

```
kubectl get events --field-selector=reportingComponent=eks-node-monitoring-agent
```

サンプル出力:

```
LAST SEEN   TYPE      REASON       OBJECT                                              MESSAGE
4s          Warning   SoftLockup   node/ip-192-168-71-251.us-west-2.compute.internal   CPU stuck for 23s
```

 **すべてのノードのイベントを取得するには** 

```
kubectl get events --field-selector involvedObject.kind=Node
```

 **特定のノードのイベントを取得するには** 

```
kubectl get events --field-selector involvedObject.kind=Node,involvedObject.name={{node-name}}
```

 **イベントをリアルタイムで監視するには** 

```
kubectl get events -w --field-selector involvedObject.kind=Node
```

 **イベント出力の例:** 

```
LAST SEEN   TYPE     REASON           OBJECT         MESSAGE
2m          Warning  MemoryPressure   Node/node-1    Node experiencing memory pressure
5m          Normal   NodeReady        Node/node-1    Node became ready
```

## 一般的なトラブルシューティングのコマンド
<a name="status-node-troubleshooting"></a>

```
# Get comprehensive node status
kubectl get node {{node-name}} -o yaml

# Watch node status changes
kubectl get nodes -w

# Get node metrics
kubectl top node
```