K8s部署和被驱逐:
- 调度成功,进入pending状态
- 然后进入容器创建podCreating状态
- 发现资源不足(不满足某个条件)导致任务直接失败,被驱逐出这个节点
- 重新进行调度,重复这个过程
- 所有的节点都不满足这个条件,最后失败
结果:容器创建失败,生成大量被驱逐节点
故障排查
通用解决方案是: describe 这个pod,查看日志即可知道被驱逐的原因。
我遇见过被驱逐的原因如下:
- 容器过大,而磁盘空间太小,打上了磁盘压力的标签(70%左右就不允许新的节点调度了),导致被驱逐
- 申请的资源过多,然后资源无法满足,导致pod被主动驱逐
- 指定了某个节点,然后这个节点不满足会直接被驱逐。由于策略的缘故会反复重试,生成大量被驱逐节点
- 其他原因