安装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 ,再次启动后服务正常运行。
至此 问题解决。