為什麼網路狀態會顯示 NHC006 錯誤?
經典基礎架構
排除網路狀態檢查錯誤 NHC006 的問題。
當您執行 ibmcloud oc cluster health issues --cluster <CLUSTER_ID> 檢查群集的健康狀態時,您會看到類似以下範例的錯誤。
ID Component Severity Description
NHC006 Network Warning One or more DNS resolvers are not reachable from certain worker nodes.
如果檢查問題的詳細資訊,您會看到哪些 DNS 解析器無法從哪些 Worker 節點存取。
ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC006
此警告表示某些工作節點無法連線到一個或多個 DNS 解析器。 這可能會導致 DNS 故障並影響工作負載通訊。
-
透過列出所有 GNP,檢查 Calico GlobalNetworkPolicies (GNP)。
kubectl get globalnetworkpolicies.crd.projectcalico.org執行下列指令檢視特定政策。
kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml -
尋找任何封鎖 DNS 流量的
egress規則 ( UDP / TCP 埠 53)。 也檢查selector欄位是否可能不當地包含工作站節點。 -
使用 debug pod 從工作節點驗證 DNS 可達性
kubectl run -i --tty debug \ --image=us.icr.io/armada-master/network-alpine:latest \ --restart=Never \ --overrides=' { "apiVersion": "v1", "spec": { "nodeName": "<node-name>" } }' -- sh -
在 debug pod 內執行下列指令。 如果這些都失敗,DNS 可能會被政策或 IaaS-level 設定封鎖。
nslookup ibm.comdig ibm.com -
檢閱您的基礎架構 (網路裝置、ACL 等),並允許 UDP 和 TCP 埠 53 的出站流量。
-
如果問題持續,請聯絡支援人員尋求進一步協助。 開啟 支援個案。 在案例詳細資訊中,請務必包含任何相關的記錄檔、錯誤訊息或指令輸出。