Ubuntu K8S安装后出现coredns一直是CrashLoopBackOff

Ubuntu K8S安装后出现coredns一直是CrashLoopBackOff

主要是DNS配置出现问题,还有k8s init 网段的问题。

Ubuntu无法解析域名DNS指向127.0.0.53


修改/etc/resolved.conf后重启又恢复回来
能不能强制删除了不恢复

vi /etc/systemd/resolved.conf 
在其中添加dns信息
DNS=114.114.114.114 或 8.8.8.8什么的

重启解析服务

systemctl restart systemd-resolved


设置解析服务开机启动

systemctl enable systemd-resolved

直接删除这个文件吧

mv /etc/resolv.conf /etc/resolv.conf.bak

创建解析配置软链接 -f 强制覆盖

ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

查看/etc/resolv.conf 如果发现新的DNS

cat /etc/resolv.conf 

重启后终于看不到127.0.0.53了


参考:
https://www.cnblogs.com/xiao987334176/p/18365829
https://coredns.io/plugins/loop/#troubleshooting
https://www.cnblogs.com/zbhlinux/p/17714753.html
https://zhuanlan.zhihu.com/p/677878081

这篇文章的评论里给了6条建议
https://discuss.kubernetes.io/t/coredns-is-stuck-in-crashloopbackoff/30514/2

更换pod-network-cidr

当您使用kubeadm init时,请指定pod-network-cidr。确保主机/主网络的IP不在您引用的子网中。

即如果您的网络运行在192.168.*.*使用10.0.0.0/16

如果您的网络是10.0.*.*使用192.168.0.0/16

kubeadm init \
--apiserver-advertise-address=你的主节点IP \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.28.2 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.0.0.0/16 \
--ignore-preflight-errors=all

参考:
https://blog.csdn.net/mayi_xiaochaun/article/details/121402679


常用调试命令

kubectl rollout restart Deployment/coredns -n kube-system

systemctl daemon-reload
systemctl restart kubelet
systemctl restart containerd

kubectl get po -A -owide
kubectl get cs
kubectl get node

kubectl get events

你可能感兴趣的:(ubuntu,kubernetes,linux)