dns域名解析过程_Kubernetes组件之CoreDNS及DNS解析不通问题

05d5dd818c70c83899a09ebcdbaaacb3.png

CoreDNS

实现K8s所有的域名解析。集群CoreDNS镜像版本:gcr.io/coredns/coredns:1.6.0。

NodeLocalDNS

节点本地域名解析。如果k8s集群pod数增加后,pod之间的相互访问,都需先通过域名解析,那么CoreDNS将不堪重负,所以通过Daemonset在每个节点都启动了一个NodeLocalDNS,缓解全局CoreDNS的域名解析压力,其本身k8s-dns镜像,但功能没有全局的CoreDNS镜像丰富。

集群NodeLocalDNS镜像版本:gcr.io/k8s-dns-node-cache:1.15.4。

Kubernetes的域名解析流程

k8s的pod域名解析配置和解析流程:

  1. pod首先检查自己的/etc/resolv.conf配置文件
nameserver 169.254.25.10 
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5

发现DNS服务器的地址为169.254.25.10,这个IP是NodeLocalDNS侦听DNS请求的IP,所以pod会先将dns请求发给本地的NodeLocalDNS进行域名解析。

cluster.local:53 {
    errors
    cache {
        success 9984 30
        denial 9984 5
    }
    reload
    loop
    bind 169.254.25.10 # 绑定的IP
    forward . 10.233.0.3 {
        force_tcp
    }
    prometheus :9253
    health 169.254.25.10:9254
}
in-addr.arpa:53 {
    errors
    cache 30
   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值