如果 Antrea 容器叢集的狀態為「已關閉」,請遵循本說明文件中的步驟,來判斷此問題的原因並從中復原,或者收集支援服務包。

問題

叢集控制平面節點已關閉。Antrea 容器叢集已與中央控制平面 (CCP) 中斷連線。

原因

NSX Manager UI 中,導覽至系統 > 網狀架構 > 節點 > 容器叢集 > Antrea。如有需要,可在 Antrea 頁面上使用外部識別碼欄位,來篩選叢集清單。

按一下問題叢集的 狀態資料行。如果所有元件均已關閉,可能的原因如下:
  • Kubernetes 叢集已刪除。
  • CCP 存在網路連線問題。
  • 介面卡由於某種原因當機或刪除。
  • 介面卡的用戶端憑證不正確。
  • 介面卡的版本與 CCP 不相容。

如果只有中央控制平面介面卡關閉,則可能是 CCP 介面卡已當機。

解決方案

  1. 如果 Kubernetes 叢集已刪除,請清理 NSX 中存留的登錄資料和詳細目錄資料。請參閱從 NSX 清理 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 叢集。重新登錄叢集後,叢集識別碼將有所不同。若有將任何 Antrea 原則套用至叢集,在重新登錄叢集後,您必須再次套用該原則。

    如需清理存留登錄資料的指示,請參見從 NSX 清理 Antrea 資料

    如需將 Antrea 容器叢集登錄到 NSX 的指示,請參閱向 NSX 登錄 Antrea 容器叢集

  4. 使用 kubectl,從交互作用網繭中取得 nsx-proxy 容器記錄,然後檢查錯誤訊息。
    此步驟有助於您識別因下列任一原因所造成的故障:
    • 介面卡的用戶端憑證不正確。
    • 介面卡的版本與 CCP 不相容。

    相關命令範例,請參閱步驟 3。

  5. 如果管理平面介面卡已啟動,請使用 NSX 中的支援服務包功能來收集容器叢集的記錄檔。

    如需詳細資訊,請參閱收集 Antrea 容器叢集的支援服務包