异常处理-k8s-节点异常
异常处理-k8s-节点异常
·
现象1:IPVS:rr:TCP 10.68.0.2:53 - no destination available
- 节点状态:NotReady
- 服务器不断打印:
IPVS:rr:TCP 10.68.0.2:53 - no destination available
IPVS:rr:UDP 10.68.0.2:53 - no destination available
猜想:
ipvs的ip没有轮询到
操作
- 查看ipvs里面是否有这个ip
ipvsadm -Ln | grep 10.68.0.2
有返回结果,说明ipvs里面有这个ip
- 查看svc中是否有这个ip
kubectl get svc -A | grep 10.68.0.2
有返回结果,说明有对应这个ip的svc
- 删除对应svc资源
kubectl delete svc -n kube-system kube-dns
- 重启服务器
重启服务器后服务器正常,但此时k8s集群缺少kube-system名称空间下kube-dns的svc资源
- 手动执行脚本进行创建缺少的svc资源
kubectl apply -f /etc/kubeasz/clusters/k8s-01/yml/coredns.yaml
等待一段时间后,集群节点状态以及服务恢复正常
现象2:cannot allocate memory
- pod状态:ContainerCreating
- 节点状态:Ready
- describe pod:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled <unknown> default-scheduler Successfully assigned common-szzwy-dev/cloudeasy-billdata-adapter-5fd4cf6775-wnv7d to cbp-dy-dev-k8snode-0003
Warning FailedCreatePodContainer 13s (x5 over 64s) kubelet, cbp-dy-dev-k8snode-0003 unable to ensure pod container exists: failed to create container for [kubepods besteffort podd1bd0393-4c48-4e23-a839-7c0e84ba8396] : mkdir /sys/fs/cgroup/memory/kubepods/besteffort/podd1bd0393-4c48-4e23-a839-7c0e84ba8396: cannot allocate memory
- 节点实际内存:
Kubernetes中Cgroup泄露的问题(Cgroup文档:https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt)
绝大多数的kubernetes集群都有这个隐患。只不过一般情况下,泄漏得比较慢,还没有表现出来而已。
一个pod可能泄漏两个memory cgroup数量配额。即使pod百分之百发生泄漏, 那也需要一个节点销毁过三万多个pod之后,才会造成后续pod创建失败。
一旦表现出来,这个节点就彻底不可用了,必须重启才能恢复
解决
重启机器
参考:http://www.manongjc.com/detail/64-ivqsbsdthtwejct.html
更多推荐
已为社区贡献5条内容
所有评论(0)