安装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 ,再次启动后服务正常运行。

在这里插入图片描述
在这里插入图片描述
至此 问题解决。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐