K8S故障处理:coredns状态异常处理记录
K8S故障处理
一篇关于K8S故障处理IT技巧方面的经验,一起来看看吧!
在Kubernetes中,coredns作为一个服务发现的配置中心,K8S中创建的 Service 和 Pod 都会在其中自动生成相应的 DNS 记录,能够用作集群内部的dns解析,作为一个重要组件,coredns一般都采用daemonSet方式部署。
本文记录了几种场景下coredns异常问题。

1. 服务器重启后coredns异常
服务器重启后,K8S集群内coredns状态为CrashLoopBackOff,coredns版本:1.8.3,查看coredns日志如下
[root@reg ~]# kubectl logs -f coredns-bbckw -n kube-system
plugin/forward: no nameservers found
查看/etc/resolv.conf的dns配置,配置里一个nameserver都没有
[root@reg ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search localhost
会导致 coredns 无法起来刷日志,查看configmap的 coredns 的配置里有如下配置
forward . /etc/resolv.conf {
max_concurrent 1000
}
coredns的/etc/resolv.conf是挂载的宿主机的,会读取文件里的
nameserver配置,所有coredns无法启动的原因找到了,临时解决方式就是重新配置/etc/resolv.conf配置
为了防止下次重启再次丢失,彻底解决方式如下
编辑该文件,在[main]下面加入dns=none
vi /etc/NetworkManager/NetworkManager.conf
[main]
dns=none
2. 服务器重启后coredns异常
场景:/etc/resolv.conf文件丢失
[root@02-3 ~]# kubectl get pods -owide -n kube-system
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-5mftn 1/1 Running 2 174d 172.27.0.214 10.10.28.10 <none> <none>
coredns-9bnl8 1/1 Running 2 62d 172.27.4.31 10.10.28.141 <none> <none>
coredns-9tmcj 0/1 ContainerCreating 0 105s <none> 10.10.28.116 <none> <none>
查看pod的日志
[root@02-3 ~]# kubectl describe pods coredns-9tmcj -n kube-system
........
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 2m11s default-scheduler Successfully assigned kube-system/coredns-9tmcj to 10.10.28.116
Warning FailedCreatePodSandBox 1s (x11 over 2m11s) kubelet Failed to create pod sandbox: open /etc/resolv.conf: no such file or directory
检查dns的配置文件
[root@02-3 ~]# ll /etc/resolv.conf
ls: 无法访问/etc/resolv.conf: 没有那个文件或目录
相关阅读
-
JavaScript:void() javascript:void(O)是什么意思怎么解决
对于许多网友来说javascript:void(O)是什么意思怎么解决的IT知识,关于javascript:void(O)是什么意思怎么解决 或者 JavaScript:void(),下面来一起了解一下吧。 我们在使用或者是学习javascript编程语言的时
-
网络代理服务器是什么意思 搭建服务器上外网的方法
您可能不了解网络代理服务器是什么意思和搭建服务器上外网的方法的IT知识,接下来一起来看看吧。 方法一:关掉代理局域网 1.打开windows设置→网络和Internet→代理→勾选自动检测设置,关
-
ping是越高越好还是越低越好 ping值越高越好还是越低越好?
很多电脑新手不知道网络检测 ping值越高越好吗?还是越低越好? 下面IT袋小编就给大家扫盲有关ping测的网络知识。 疑问解答: ping值是越低越好,Ping值越低代表网络延时越低。一般来说,我
-
SSH密钥认证工作流程详解 SSH密钥认证流程解析
一篇关于SSH密钥认证工作流程详解的相关介绍,下面来一起了解一下吧。 远程登录Linux除了可以使用用户名密码认证外,我们还可以通过密钥对认证。也许你对如何配置密钥认证非常熟悉,但


