kubectl get pods
發現很多pod的狀態為Evicted
原因
eviction,即驅趕的意思,意思是當節點出現異常時,kubernetes將有相應的機制驅趕該節點上的Pod。
多見於資源不足時導致的驅趕,本次問題為磁盤不足導致。
解決辦法
排查資源和異常原因,防止新的驅趕產生。處理資源問題后,刪除Evicted狀態pod,重新拉起
kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod
批量刪除指定狀態的 Pods
命令如下:
kubectl get pods -n <Namespace> | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n <Namespace>
kubectl get pods -n <Namespace>
獲取指定 Namespace 下的所有 Podsgrep <status>
篩選出指定狀態的 Podsawk '{print $1}'
取 Pod 的 Namexargs kubectl delete pod -n <Namespace>
傳遞 Pod's Name 用於刪除 Pod