You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨节点Pod无法解析Service名称(CoreDNS部署在其他节点时)的问题排查求助

跨节点Pod无法解析Service名称(CoreDNS部署在其他节点时)的问题排查求助

大家好,我被一个Kubernetes DNS问题卡了4-5天,实在没办法了想请教各位大佬:

先说说我的集群环境:

  • Kubernetes版本是v1.26.0,用kubeadm搭建的
  • CNI组件用的是Calico,通过Helm Chart部署,完全跟着Calico官方文档和Chart的步骤来操作的
  • 容器引擎用的是containerd
  • 节点系统是CentOS 8,防火墙用firewalld配置iptables,参考了社区相关线程的配置方案

现在的问题是这样的:
当我用dnsutils Pod执行nslookup命令时,如果这个Pod被调度到CoreDNS所在的节点上,就能正常解析kube-dns.kube-system这类Service名称;但如果Pod在其他节点,就会超时失败。另外不管Pod在哪个节点,直接Ping Pod IP是没问题的,唯独跨节点时用{Service Name}.{Namespace}的方式访问就不行。

我已经做了这些排查工作:

  • 确认Calico要求的所有防火墙端口都已经开放,并且可以正常访问
  • 开启了kube-proxy的--v=4日志级别,能看到它已经正确加载了所有Service的名称和对应的Cluster IP
  • 检查了节点上的iptables规则,和Kubernetes官方调试Service页面里的规则是一致的

实在找不到问题根源了,有没有大佬能给我一些调试方向,或者帮我分析下到底哪里出问题了?

备注:内容来源于stack exchange,提问作者Peeradis Sa-nguantrakul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:09:39