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常见故障排查一点通的主要内容,如果未能解决你的问题,请参考以下文章