k8s常用故障排查
一、查看k8s Master组件的状态下面日志:kubet get pods没反应,推断api server可能有问题。于是,查询api server进程,发现是在的,要看下api server日志了,有没有报错信息。
这里会有疑问,api server日志在哪儿呀? 这里会有疑问,api server日志在哪儿呀?
第一种:ps -ef | grep kube-apiserver| grep log,看下启动参数中,有没有
第二种:kube-apiserver --help,看下有没有默认的配置路径
第三种:kube-apiserver容器中有没有标准的输出
docker logs kube-apiserver容器id
从上面日志,可以看出,报错是etcd
docker ps | grep etcd
查看etcd容器日志二、节点异常排查故障
kubeadm拉起的进程,通过systemd,启动kubelet和docker。
kubelet拉起kube-proxy,CNI插件,通过docker查看kubelet进程异常:systemctl status kubelet
kubectl get node xxx -o yaml或kubectl describe node xxx,查看conditions是否满足。
n排查空间不足:
kubelet --help | grep root
–root-dir: /var/lib/kubelet/ --pod,container存储目录
–docker-root: /var/lib/docker --docker存储目录
df -h 查看磁盘空间
du -h /var/lib/docker/ --显示每个文件和目录的磁盘使用空间~~~文件的大小。
三、应用异常排查故障
kubectl get nodes --selector=beta.kubernetes.io/arh=amd64
pod pending:一般是资源不足
四、Service异常排查故障