Antrea Kubernetes クラスタの状態が「停止」になっている場合は、このドキュメントの手順に従って、問題の原因を特定してリカバリするか、サポート バンドルを収集します。
問題
クラスタ制御プレーン ノードが停止しています。Antrea Kubernetes クラスタが中央制御プレーン (CCP) から切断されています。
原因
NSX Manager ユーザー インターフェイスで、 の順に移動します。必要に応じて、[Antrea] ページのクラスタのリストを [外部 ID] フィールドでフィルタリングします。
問題のあるクラスタの
[状態] 列をクリックします。すべてのコンポーネントが停止している場合、考えられる原因は次のとおりです。
- Kubernetes クラスタが削除されている。
- CCP とのネットワーク接続に問題がある。
- 何らかの理由でアダプタがクラッシュしているか、削除されている。
- アダプタのクライアント証明書が正しくない。
- アダプタのバージョンが、CCP と互換性がない。
中央制御プレーン アダプタ のみが停止している場合は、CCP アダプタがクラッシュした可能性があります。
解決方法
- Kubernetes クラスタが削除された場合は、NSX に残っている登録データとインベントリ データをクリーンアップします。NSX からの Antrea データのクリーンアップを参照してください。
- Kubernetes クラスタの kubectl および kubeconfig アクセス権を取得します。kubectl を使用して、インターワーキング ポッドが実行されているノード名を取得します。ノードで SSH セッションを開始し、curl または nc コマンドを使用して、ポート 1234 および 1235 の各 NSX Manager IP に接続します。接続を確立できない場合、CCP とのネットワーク接続に問題があることが原因です。
curl コマンドの例:
NSX-Manager-IP を環境内の NSX Manager の IP アドレスに置き換えます。
curl -v NSX-Manager-IP:1235
Trying NSX-Manager-IP...
Connected to NSX-Manager-IP (NSX-Manager-IP) port 1235 (#0)
...
Empty reply from server
Connection #0 to host NSX-Manager-IP left intact
curl: (52) Empty reply from server
nc コマンドの例:
nc -v NSX-Manager-IP 1235 < /dev/null
Ncat: Version 7.50 (https://nmap.org/ncat)
Ncat: Connected to NSX-Manager-IP:1235.
Ncat: 0 bytes sent, 0 bytes received in 0.37 seconds.
- kubectl を使用して、vmware-system-antrea ネームスペース内のインターワーキング ポッドのすべてのコンテナが稼動しているかどうか確認します。
いずれかのコンテナが停止している場合は、kubectl を使用して、クラッシュしたコンテナのログを取得し、エラー メッセージを確認します。この手順は、次のいずれかの理由で発生した障害の特定に役立ちます。
- 何らかの理由でアダプタがクラッシュしているか、削除されている。
- CCP アダプタがクラッシュしている。
インターワーキング ポッドを取得する kubectl コマンドの例:
kubectl get pod -o wide -l app=antrea-interworking -n vmware-system-antrea
インターワーキング ポッドの名前をメモします。
インターワーキング ポッドの詳細な状態を取得する kubectl コマンドの例:
pod-name は実際のポッド名に置き換えます。
kubectl get pod -o yaml pod-name -n vmware-system-antrea
コンテナ ログを取得する kubectl コマンドの例:
pod-name は実際のポッド名に置き換えます。
kubectl logs pod-name -c mp-adapter -n vmware-system-antrea > mp-adapter.log
kubectl logs pod-name -c ccp-adapter -n vmware-system-antrea > ccp-adapter.log
kubectl logs pod-name -c tn-proxy -n vmware-system-antrea > tn-proxy.log
kubectl logs pod-name -c election-runner -n vmware-system-antrea > election-runner.log
vmware-system-antrea ネームスペースがないか、インターワーキング ポッドがない場合は、登録解除の手順を実行せずにアダプタが Kubernetes クラスタから削除された可能性があります。システムに残っている登録データとインベントリをクリーンアップしてから、Kubernetes クラスタを再度登録できます。クラスタを再登録すると、別のクラスタ ID が使用されます。クラスタに適用されている Antrea ポリシーがある場合は、クラスタを再登録した後に、ポリシーを再度適用する必要があります。
残存する登録データをクリーンアップする手順については、NSX からの Antrea データのクリーンアップを参照してください。
Antrea Kubernetes クラスタを NSX に登録する方法については、NSX への Antrea Kubernetes クラスタの登録を参照してください。
- kubectl を使用して、インターワーキング ポッドから nsx-proxy コンテナ ログを取得し、エラー メッセージを確認します。
この手順は、次のいずれかの理由で発生した障害の特定に役立ちます。
- アダプタのクライアント証明書が正しくない。
- アダプタのバージョンが、CCP と互換性がない。
コマンドの例については、手順 3 を参照してください。
- 管理プレーン アダプタ が稼動している場合は、NSX のサポート バンドル機能を使用して、Antrea Kubernetes クラスタのログ ファイルを収集します。