Kubernetes的DNS服务CoreDNS和NodeLocalDNS

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

最近部署k8s集群时,容器解析集群外自建dns中配置的域名报错。将容器中的NodeLocalDNS地址注释掉后解析正常。NodeLocalDNS访问上游CoreDNS解析异常。修改/etc/resolv.conf太麻烦,将coredns cm配置中forward /etc/resolv.conf改成forward . 172.20.xx.10 172.20.xx.20临时解决。

🎯

关键要点

  • 在部署k8s集群时,容器解析外部自建DNS的域名报错。
  • 注释掉容器中的NodeLocalDNS地址后,解析恢复正常。
  • NodeLocalDNS访问上游CoreDNS时出现解析异常。
  • 由于Pod数量庞大,修改/etc/resolv.conf非常麻烦。
  • 临时解决方案是将coredns cm配置中的forward改为forward . 172.20.xx.10 172.20.xx.20。
  • NodeLocal DNSCache通过在节点上运行DNS缓存代理来提高DNS性能。
  • 启用NodeLocal DNSCache后,DNS查询路径包括多个步骤,涉及NodeLocal DNSCache和kube-dns服务。
  • NodeLocal DNSCache的工作原理包括缓存查询和备用链路的处理。
🏷️

标签

➡️

继续阅读