为什么网络状态显示 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 解析器无法从哪个工作节点访问。
ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC006
此警告表示某些工作节点无法连接到一个或多个 DNS 解析器。 这会导致 DNS 故障,影响工作负载通信。
-
检查 Calico GlobalNetworkPolicies (GNP),列出所有 GNP。
kubectl get globalnetworkpolicies.crd.projectcalico.org运行以下命令以查看特定策略。
kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml -
查找任何阻止 DNS 流量的
egress规则( UDP / TCP 端口 53)。 还要检查selector字段是否可能不恰当地包含工作节点。 -
使用调试 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 -
在调试 pod 中运行以下命令。 如果这些操作失败,DNS 可能会被策略或 IaaS-level 配置阻止。
nslookup ibm.comdig ibm.com -
检查您的基础设施(网络设备、ACL 等),并允许 UDP 和 TCP 端口 53 传出流量。
-
如果问题仍然存在,请联系支持部门寻求进一步帮助。 打开 支持案例。 在案例详细信息中,请务必包含任何相关日志文件、错误信息或命令输出。