Antrea コンテナ クラスタの状態が「停止」になっている場合は、このドキュメントの手順に従って、問題の原因を特定してリカバリするか、サポート バンドルを収集します。

問題

クラスタ制御プレーン ノードが停止しています。Antrea コンテナ クラスタが中央制御プレーン (CCP) から切断されています。

原因

NSX Manager ユーザー インターフェイスで、[システム] > [ファブリック] > [ノード] > [コンテナ クラスタ] > [Antrea] の順に移動します。必要に応じて、[Antrea] ページのクラスタのリストを [外部 ID] フィールドでフィルタリングします。

問題のあるクラスタの [状態] 列をクリックします。すべてのコンポーネントが停止している場合、考えられる原因は次のとおりです。
  • Kubernetes クラスタが削除されている。
  • CCP とのネットワーク接続に問題がある。
  • 何らかの理由でアダプタがクラッシュしているか、削除されている。
  • アダプタのクライアント証明書が正しくない。
  • アダプタのバージョンが、CCP と互換性がない。

中央制御プレーン アダプタ のみが停止している場合は、CCP アダプタがクラッシュした可能性があります。

解決方法

  1. Kubernetes クラスタが削除された場合は、NSX に残っている登録データとインベントリ データをクリーンアップします。コマンド ラインを使用した NSX-T インベントリからの Antrea コンテナ クラスタの削除 を参照してください。
  2. コンテナ クラスタの 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.
  3. 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-T インベントリからの Antrea コンテナ クラスタの削除を参照してください。

    Antrea コンテナ クラスタを NSX に登録する方法については、NSX-T Data Center への Antrea コンテナ クラスタの登録を参照してください。

  4. kubectl を使用して、インターワーキング ポッドから nsx-proxy コンテナ ログを取得し、エラー メッセージを確認します。
    この手順は、次のいずれかの理由で発生した障害の特定に役立ちます。
    • アダプタのクライアント証明書が正しくない。
    • アダプタのバージョンが、CCP と互換性がない。

    コマンドの例については、手順 3 を参照してください。

  5. 管理プレーン アダプタ が稼動している場合は、NSX のサポート バンドル機能を使用して、コンテナ クラスタのログ ファイルを収集します。

    詳細については、Antrea コンテナ クラスタのサポート バンドルの収集を参照してください。