kubernetes杂谈(一)清除状态为Evicted的pod

一    现象引入

使用'kubectl get pods --all-namespaces', 发现很多'pod的状态为evicted'

原因

eviction,即'驱赶的意思',意思是当节点出现异常时,kubernetes将有'相应的机制驱赶'该节点上的Pod,
多见于资源不足时导致的驱赶。

注意: 即使集群'状态恢复',eviction状态的pod会'在系统中存在',需要'手动删除'  --> 只是影响美观

kubernetes杂谈(一)清除状态为Evicted的pod_第1张图片

解决方案

排查'资源和异常原因',防止新的驱赶产生  --> 结合'journal -u kubelet'

使用如下命令删除旧驱赶的遗留

kubernetes杂谈(一)清除状态为Evicted的pod_第2张图片

需求:删除状态为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

分析:深层次的原因

 

你可能感兴趣的:(kubernets)