標準叢集: 為何主節點狀態具有 NLB 錯誤的入口 IP 位址?
經典基礎架構
當您執行 ibmcloud oc cluster get -c <cluster_name_or_ID> 時,您會在 主要狀態 欄位中看到下列錯誤訊息。
CAE003: Unable to determine the ingress IP address for the network load balancer.
此外,當您執行 ibmcloud oc nlb-dns create 以建立網路負載平衡器 (NLB) 的子網域時,指令可能會失敗,並顯示一則訊息指出找不到叢集、輸入參數不正確或您沒有必要的角色。
無法設定 Konnectivity 伺服器,因為無法找到暴露預設 Ingress 控制器的負載平衡器 IP 位址。 Ingress 控制器的負載平衡器服務可能沒有被指派 IP 位址,因為您的群集沒有可用可攜式 IP 位址的子網路,或者負載平衡器的設定沒有完成。
確認您的群集有可用的子網路,且負載平衡器的設定已成功完成。
驗證您的群集是否有可用的子網路
-
檢查叢集是否具有用於公用和專用子網路的子網路 CIDR。 如果設定了僅專用 VLAN 叢集,則可能只有專用子網路。
ibmcloud oc cluster get --cluster <cluster_name_or_ID> --show-resources輸出範例
NAME: <cluster_name> ... Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2345678 10.xxx.xx.xxx/29 false false 2876543 169.xx.xxx.xxx/29 true false -
如果叢集沒有子網路,請為叢集建立子網路或將帳戶中的現有子網路新增到叢集。
-
如果群集確實有子網路,請 檢查是否有可用的可攜式 IP 位址,必要 時透過新增子網路來增加更多可攜式 IP 位址。
-
刷新主機以重新啟動 Konnectivity 設定,使其使用可用的子網路。
ibmcloud oc cluster master refresh --cluster <cluster_name_or_ID>
驗證負載平衡器設定已順利完成
- 檢查負載平衡器的
ibm-cloud-provider-ip-*Pod 是否處於 Running 狀態。oc get pods -n ibm-system | grep ibm-cloud-provider-ip - 如果 Pod 未在執行,請檢閱 Pod 詳細資料中的 Events,以進一步對問題進行疑難排解。
oc describe pod -n kube-system <pod_name> - 解決負載平衡器 Pod 問題後,刷新主機以重新啟動 NLB 設定。
ibmcloud oc cluster master refresh --cluster <cluster_name_or_ID>