k8s pod内无法解析service域名


问题描述

pod内无法解析service域名,导致无法访问其他应用


原因分析:

可能原因:

  • 3层网络故障
  • dns服务解析异常。集群内pod 域名通过core-dns解析,集群外通过宿主机DNS解析。

排查步骤:

step1. 直接ping service对应clusterIP 正常。
step2. 检查core-dns pod 到对应service通信异常,endpoint所指地址与实际core-dns pod ip 不一致。在这里插入图片描述

问题根因

core-dns pod 和service通信异常,导致其他pod域名解析失败

解决方法

删除service对应endpoint,重启core-dns恢复

知识拓展

pod域名解析是通过core-dns
在这里插入图片描述
pod 内resolv.conf对应的nameserver 就是core-dns service 的clusterIP
在这里插入图片描述
在Kubernetes中,域名的全称是 service-name.namespace.svc.cluster.local这种模式,当执行 curl b时,在容器内会根据/etc/resolv.conf进行解析流程,首先会选择100.64.0.2进行解析。用字符串"b"依次带入容器内/etc/reslov.conf中的search域进行DNS查找。当所有的解析都失败时,就会使用宿主机dns解析(一般是访问外网的时候)
在这里插入图片描述

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六六哒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值