k8s常见故障排查一点通

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s常见故障排查一点通相关的知识,希望对你有一定的参考价值。

问题分类


解决方案:常用四大命令

1)定位问题:
查看k8s Master组件的状态:

查看Pod在节点的详情:kubectl get pod -o wide

查看Pod的配置是否正确:kubectl get pod pod-name -o yaml
查看Pod内部详情:kubectl describe pod pod-name -n namespace
查看pod里对应容器日志: kubectl logs pod-name -o container-name

2)根据问题分类去解决。

一、pod应用实例异常排查:

异常显示:
pending:部署Pod事务已被集群受理,但当前容器镜像还未下载完。
可能原因:
1)可用资源不足:describe pod查看到调度失败的event
2)不满足亲和性策略
3)节点有污点(taints)

waiting:等待
可能原因:
1)镜像下载失败
2)配置imagePullSecret无法通过认证,查看是否存在可用的json类型的secret
3)imagePullPolicy配置是否正确

CrashBackoff:(崩溃回退)

定位问题:
kubectl describe pod pod-name -n namespace
kubectl logs pod-name -n namespace

可能原因:
pod配置文件错误
删除错误配置文件生成的pod
kubectl delete pod pod-name -n namespace
重新创建正确的配置文件启动pod

ContainerCreating:容器创建中
ImagePullBackOff:镜像下载失败
Unknown :未知原因,如kube-apiserver无法与Pod进行通讯

正常显示:
completed 任务完成,命令按要求只完成一次
running 正常

二、节点异常处理

常见原因:
1)节点未安装网络插件(如:flannel)
2)kubelet进程异常
systemctl status kubelet.service
启动不了,可能是未禁用swap,导致此进程无法开机自启

禁用swap,启动服务,解决问题

3)磁盘、内存不足
先查看到存储目录
kubelet --help | grep root-dir

三、如果k8s做的本地存储出现了问题,你的拍错思路

检查硬件、数据,pv、pvc状态与连接情况,检查pod内数据与服务。


以上是关于k8s常见故障排查一点通的主要内容,如果未能解决你的问题,请参考以下文章

k8s常见故障

k8s故障排查指南

k8s医生k8s集群故障排查 – 关于kubelet 的NotReady故障

DNS常见故障排查

常见服务器故障类型及排查方法总结

AD常见故障排查---运维笔记