為何在嘗試登入 Pod 時看到逾時錯誤?

排除工作節點上 Pod 執行超時的問題。

經典基礎架構

您已刪除叢集裡的工作者節點,然後新增工作者節點。 當您部署 Pod 或 Kubernetes 服務時,該資源無法存取新建立的工作節點,導致連線超時。

如果您從叢集刪除工作者節點,然後新增工作者節點,則可能會將已刪除工作者節點的專用 IP 位址指派給新的工作者節點。 Calico 使用此專用 IP 位址作為標籤,並繼續嘗試連接已刪除的節點。

手動更新專用 IP 位址的參照,以指向正確的節點。

  1. 確認您有兩個具有相同專用 IP 位址的工作者節點。 請記下已刪除之工作者節點的專用 IPID

    ibmcloud oc worker ls --cluster CLUSTER_NAME_OR_ID
    
    ID                                                 Public IP       Private IP       Machine Type   State     Status   Zone   Version
    kube-dal10-cr9b7371a7fcbe46d08e04f046d5e6d8b4-w1   169.xx.xxx.xxx  10.xxx.xx.xxx    b3c.4x16       normal    Ready    dal10      1.35
    kube-dal10-cr9b7371a7fcbe46d08e04f046d5e6d8b4-w2   169.xx.xxx.xxx  10.xxx.xx.xxx    b3c.4x16       deleted    -       dal10      1.35
    
  2. 安裝 Calico CLI

  3. 列出 Calico 中的可用工作者節點。 請將 <path_to_file> 替換為 Calico 設定檔的本地路徑。

    calicoctl get nodes --config=filepath/calicoctl.cfg
    
    NAME
    kube-dal10-cr9b7371a7faaa46d08e04f046d5e6d8b4-w1
    kube-dal10-cr9b7371a7faaa46d08e04f046d5e6d8b4-w2
    
  4. 刪除 Calico 中的重複工作者節點。 請將 NODE_ID 取代為工作者節點 ID。

    calicoctl delete node NODE_ID --config=<path_to_file>/calicoctl.cfg
    
  5. 將未刪除的工作者節點重新開機。

    ibmcloud oc worker reboot --cluster <cluster_name_or_id> --worker <worker_id>
    

已刪除的節點不再列於 Calico 中。