1、问题现象
coredns pod起不来,日志报:plugin/forward: no nameservers found
2、问题分析:
coredns起不来,因为DNS解析的问题。请确保 /etc/resolv.conf 中的 DNS 地址可用,否则会导致集群中的 DNS 出现问题。
coredns默认forward . /etc/resolv.conf ,这部分依赖coredns的pod所在宿主机的配置。coredns 创建时,容器中 /etc/resolv.conf 默认是继承当前节点相同路径中的Dnsservers 配置,并且后续也不会 watch 和同步节点 /etc/resolv.conf 中的内容改动,所以节点上配置修改后需要重建 coredns Pods 更新新配置。
3、问题解决:
/etc/resolv.conf,配置
nameserver {dnsIP}
请确保 /etc/resolv.conf 中的 DNS 地址可用。
4、验证(全部私网不通互联网场景)
使用私网(不通互联网)虚拟机,安装k8s
1)通过网络命名空间访问虚拟机,resolv.conf配置私网网关。
2)安装k8s,查看coredns是否正常。
coredns forward插件说明: