coreDNS无法启动,需要添加dns,u系操作系统重启dns会丢失问题

/etc/resolv.conf里面的dns重启会丢失,重新新建文件,指定kubelet服务中--resolv-conf为该文件

https://coredns.io/plugins/loop/#troubleshooting

1.systemctl status kubelet.service查看kubelet.service文件位置
2.通过第一步查询到文件位置在/etc/systemd/system/kubelet.service
3.查看kubelet.service可知:
EnvironmentFile=-/etc/kubernetes/kubelet.env
4.修改/etc/kubernetes/kubelet.env
添加如下行:
RESOLV_FILE="--resolv-conf=/etc/resolvconf/resolv.conf.d/kubelet-resolv.conf"
5.修改kubelet.service文件
添加如下行:
$RESOLV_FILE
6.创建文件/etc/resolvconf/resolv.conf.d/kubelet-resolv.conf,与/etc/kubernetes/kubelet.env中添加的文件名一致即可,可以放在其他位置
添加如下内容:
nameserver 114.114.114.114
7.systemctl daemon-reload
8.systemctl restart kubelet.service

另一种方式(推荐):

1. systemctl status kubelet -l --no-pager查看kubelet服务信息

2. 通过第一步查看到服务参数--config=/var/lib/kubelet/config.yaml

3. 修改/var/lib/kubelet/config.yaml文件

添加一行:

resolvConf: /etc/resolv.conf.d/kubelet-resolv.conf

/etc/resolv.conf.d/kubelet-resolv.conf为自定义的文件,里面包含如下内容

nameserver  114.114.114.114

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
k8s中的CoreDNS启动失败可能有多种原因。其中一种常见的原因是循环依赖导致的问题。循环依赖是指CoreDNS在解析DNS请求时,发现自己作为DNS服务器的循环依赖。这可能是由于配置错误或网络问题引起的。 解决此问题的一种方法是检查CoreDNS的配置文件,并确保没有循环依赖。您可以按照以下步骤进行操作: 1. 打开CoreDNS的配置文件,通常位于`/etc/coredns/Corefile`。 2. 检查配置文件中的`loop`插件是否被正确配置。确保没有循环依赖的配置。 3. 如果发现循环依赖的配置,请根据CoreDNS官方文档中的故障排除指南(https://coredns.io/plugins/loop#troubleshooting)进行修复。 另外,CoreDNS启动失败还可能是由于其他原因,例如镜像拉取失败或容器启动失败。您可以通过以下步骤进行排查: 1. 检查CoreDNS的镜像是否正确配置,并且可以从镜像仓库中拉取。 2. 检查CoreDNS的Pod是否处于运行状态。您可以使用`kubectl get pods`命令来查看Pod的状态。 3. 如果Pod处于错误状态,请使用`kubectl describe pod <pod_name>`命令查看详细的错误信息,以确定容器启动失败的原因。 请注意,以上步骤仅提供了一种解决CoreDNS启动失败的方法。具体的解决方法可能因环境和配置而异。如果以上方法无法解决问题,请提供更多的错误信息和配置细节,以便我们能够更好地帮助您解决问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值