本文主要是介绍k8s集群安装后CoreDNS 启动报错plugin/forward: no nameservers found,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
安装k8s过程中遇到的问题:
基本信息
系统版本:ubuntu 22.04
故障现象:
coredns 报错:plugin/forward: no nameservers found
故障排查:
#检查coredns的配置,发现有一条转发到/etc/resolv.conf的配置
kubectl edit cm coredns -n kube-system
forward . /etc/resolv.conf {max_concurrent 1000}
forward 指 coredns 中没有找到记录,则去 /etc/resolv.conf中的 nameserver 请求解析,而 coredns 容器中的 /etc/resolv.conf 是继承自宿主机的。
问题原因:
检查/etc/resolv.conf 发现没有dns服务器定义。所以coredns启动报错
问题解决:
ubuntu 使用 stsrtemd-resolved.service 管理本地的dns,所以不能直接修改/etc/resolv.conf,需要修改如下配置文件:
添加dns配置:
vim /etc/systemd/resolved.conf
重启stsrtemd-resolved
systemctl restart stsrtemd-resolved.service
检查/etc/resolv.conf 是否存在nameserver。
删除coredns的pod ,再次启动后服务正常运行。
至此 问题解决。
这篇关于k8s集群安装后CoreDNS 启动报错plugin/forward: no nameservers found的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!