常用节点问题排查手段
登录到节点
- 如果节点开启了sshd,并放开了防火墙,那么可以直接ssh到node上。
- 创建一个支持 ssh 的 privilege Pod,运行在主机网络,pid共享,并且mount主机的文件系统。作为跳板机登录到node。
查看日志
登录到node上后,就需要根据日志信息具体分析了。
针对使用 systemd 拉起的服务
journalctl -afu kubelet -S "2022-04-03 15:00:00"
-u unit,对应的systemd拉起的组件,如kubelet
-f follow,跟踪最新日志
-a show all,显示所有日志列
-S since,从某一时间开始
针对标准的容器日志
kubectl logs -f-c <containername> <podname>
kubectl logs -f--all-containers <podname>
# 如果pod经常crash,也就是restart次数很多,加上--previous就可以看上次重启的日志。
kubectl logs -f -c -podname> --previous
如果容器日志被 shell 转储到文件
kubectl exec -it xxx --tail -f /path/to/log