大家好,又见面了,我是你们的朋友全栈君。
一 现象引入
使用'kubectl get pods --all-namespaces', 发现很多'pod的状态为evicted'
原因
eviction,即'驱赶的意思',意思是当节点出现异常时,kubernetes将有'相应的机制驱赶'该节点上的Pod,
多见于资源不足时导致的驱赶。
注意: 即使集群'状态恢复',eviction状态的pod会'在系统中存在',需要'手动删除' --> 只是影响美观
解决方案
排查'资源和异常原因',防止新的驱赶产生 --> 结合'journal -u kubelet'
使用如下命令删除旧驱赶的遗留
需求:删除状态为Evicted的pod
#!/bin/bash
# '去除第一行'
for ns in `kubectl get ns | awk 'NR>1{print $1}'`
do
kubectl get pods -n ${ns} | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n ${ns}
done
分析:深层次的原因
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145830.html原文链接:https://javaforall.cn