K8S中pod几种常见的异常状态原因分析
1. Pending
一般出现在程序启动时,一直处于pending状态,大多是因为节点资源不足。
使用命令 kubectl describe node <节点IP>
来查看节点资源情况。
2. OOMKilled
内存不足时,内核会调用 OOMKiller 来选择要终止的进程
3. CrashLoopBackOff
一般出现在OOM之后,被kill掉,但是因为pod重启机制,就会出现CrashLoopBackOff
4. Terminating
检查该节点下其他pod是否正常,其他pod也不正常则是节点问题
该节点下其他Pod正常,查看日志检查下,一般强制删除这个terminating状态的pod(请谨慎使用)
查看pod日志
kubectl logs <pod_name> -n <命名空间>
实时查看pod日志,类似与tail -f
kubectl logs -f <pod_name> -n <命名空间>
强制删除
kubectl delete pods <pod_name> --grace-period=0 --force