一 現象引入
使用'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
分析:深層次的原因