K8s dns主机名无法正常解析,coredns服务一直处于CrashLoopBackOff状态?

详细描述:
    K8s dns主机名无法正常解析,coredns服务一直处于CrashLoopBackOff状态
    kubectl log coredns
    发现log中有错误
    plugin/loop: Loop (127.0.0.1:44222 -> :53) detected for zone

1回答

zzhengleizzhenglei  技术经理 , 太平洋保险
zhengbao_jun赞同了此回答
coredns主要和resolv.conf打交道,查询resolv中是否形成相应的环造成错误 原因分析: coredns会读取系统中/etc/resov.conf中的nameserver内容,如果里面存在本地回环如127.0.0.1或者127.0.0.53那么就容易造成死循环 解决步骤: 临时修改方案: vim /etc/resolv.conf 将nameserver ...显示全部

coredns主要和resolv.conf打交道,查询resolv中是否形成相应的环造成错误

原因分析:

coredns会读取系统中/etc/resov.conf中的nameserver内容,如果里面存在本地回环如127.0.0.1或者127.0.0.53那么就容易造成死循环

解决步骤:

临时修改方案: vim /etc/resolv.conf 将nameserver 临时修改为114.114.114.114

若临时手动修改,每次重启都会被覆盖的话,则进行如下的操作:

sudo systemctl stop systemd-resolved

sudo systemctl disable systemd-resolved

sudo apt install unbound

sudo rm -rf /etc/resolv.conf

sudo vim /etc/NetworkManager/NetworkManager.conf

在[main]下添加

dns=unbound

将dns服务替换为unbound

reboot 服务器

之后:

kubectl edit deployment coredns -n kube-system

将replicates改为0,从而停止已经启动的coredns pod

再将replicates 改为2, 这样会触发coredns重新读取系统配置,此时服务的状态为Running

收起
 2020-02-18
浏览157

提问者

sdsfan80技术支持, 中国电信集团系统集成有限责任公司

问题状态

  • 发布时间:2020-02-17
  • 关注会员:2 人
  • 问题浏览:849
  • 最近回答:2020-02-18