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

Calico网络Kubernetes集群MySQL服务DNS解析失败问题求助

问题根因

  • 配置逻辑错误:你在new_namespace下创建的mysql服务为ExternalName类型,未配置标签选择器关联MySQL Deployment的Pod,因此没有对应服务端点生成。同时该服务的externalName字段指向自身的集群域名mysql.new_namespace.svc.cluster.local,触发DNS循环查询,最终返回空解析结果。
  • 从你提供的集群端点查询结果也可以验证:new_namespace下不存在mysql服务对应的端点条目,CoreDNS日志中虽然返回NOERROR状态,但没有实际的A记录返回,符合循环解析无结果的特征。

修复方案

删除原有ExternalName类型的mysql服务,替换为ClusterIP类型的服务配置,关联MySQL Pod标签即可:

apiVersion: v1
kind: Service
metadata:
  name: mysql
  namespace: new_namespace
spec:
  type: ClusterIP
  selector:
    app: mysql # 匹配Deployment中定义的Pod标签
  ports:
    - port: 3306
      targetPort: 3306
      protocol: TCP

验证方法

  1. 应用新的服务配置后,执行kubectl get endpoints -n new_namespace mysql,可以看到输出中存在对应的MySQL Pod IP与端口信息。
  2. 进入dnsutils Pod执行解析测试:kubectl exec -i -t -nnew_namespace dnsutils -- nslookup mysql,将正常返回服务的ClusterIP地址。

内容的提问来源于stack exchange,提问作者The Kaese

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:15:04