kubectl 批量刪除pod,批量刪除異常pod

1、阿里云ack集群:test-k8s,有許多異常pod。


image.png

查看dashboard發(fā)現(xiàn)很多pod狀態(tài)是Evicted狀態(tài),需要批量刪除這些失敗了的pod。

方案:

kubectl  get pods | grep Evicted | awk '{print$1}'| xargs kubectl delete pods

kubectl  get pods -n kube-system | grep Evicted | awk '{print$1}'| xargs kubectl delete -n kube-system pods

第一條命令用于刪除default namespace下的失敗pod,第二條用戶刪除指定namespace下的失敗pod(此處是以kube-system為例)。

解析:

  • 獲取所有的pods及其狀態(tài)。
kubectl  get pods
  • 通過 “|” pipe上一步出參當(dāng)作下一個操作的入?yún)ⅲ?/li>
 grep Evicted
  • 執(zhí)行g(shù)rep,選出帶有Evicted字段的pod
 awk '{print$1}'
  • 通過awk,獲取第一列信息,也就是NAME,這一步返回的是一個失敗pod名稱的列表。
xargs kubectl delete pods
  • 使用xargs指令,循環(huán)刪除失敗pod。
somecommand |xargs command
  • xargs說明
-a file 從文件中讀入作為sdtin
-e flag ,注意有的時候可能會是-E,flag必須是一個以空格分隔的標(biāo)志,當(dāng)xargs分析到含有flag這個標(biāo)志的時候就停止。
-p 當(dāng)每次執(zhí)行一個argument的時候詢問一次用戶。
-n num 后面加次數(shù),表示命令在執(zhí)行的時候一次用的argument的個數(shù),默認(rèn)是用所有的。
-t 表示先打印命令,然后再執(zhí)行。
-i 或者是-I,這得看linux支持了,將xargs的每項名稱,一般是一行一行賦值給 {},可以用 {} 代替。
-r no-run-if-empty 當(dāng)xargs的輸入為空的時候則停止xargs,不用再去執(zhí)行了。
-s num 命令行的最大字符數(shù),指的是 xargs 后面那個命令的最大命令行字符數(shù)。
-L num 從標(biāo)準(zhǔn)輸入一次讀取 num 行送給 command 命令。
-l 同 -L。
-d delim 分隔符,默認(rèn)的xargs分隔符是回車,argument的分隔符是空格,這里修改的是xargs的分隔符。
-x exit的意思,主要是配合-s使用。。
-P 修改最大的進(jìn)程數(shù),默認(rèn)是1,為0時候為as many as it can ,這個例子我沒有想到,應(yīng)該平時都用不到的吧。
  • 實際命令案例:
kubectl get pods -n guoji | grep ContainerStatusUnknown | awk '{print$1}' | xargs kubectl delete pods -n guoji
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • k8s常用命令node查看服務(wù)器節(jié)點(diǎn) kubectl get nodes查看服務(wù)器節(jié)點(diǎn)詳情 kubectl get...
    運(yùn)維搬磚工閱讀 3,677評論 0 20
  • 1、查詢pod狀態(tài) 2、發(fā)現(xiàn)有很多 “Evicted” 狀態(tài)的pod問題原因:這是由于node節(jié)點(diǎn)的磁盤或內(nèi)存資源...
    彩色的炮灰閱讀 1,032評論 0 1
  • 1.獲取資源 kubectlget 2.查看資源詳情 kubectl describe <reousrce_typ...
    365a3735241a閱讀 1,057評論 0 0
  • Kubernetes 常用安裝和使用命令總結(jié) 獲取所有命名空間上的podkubectl get pod -o wi...
    zoluo閱讀 7,727評論 0 8
  • 污點(diǎn)、容忍度 給了節(jié)點(diǎn)選則的主動權(quán),我們給節(jié)點(diǎn)打一個污點(diǎn),不容忍的 pod就運(yùn)行不上來,污點(diǎn)就是定義在 節(jié)點(diǎn)上的鍵...
    菜頭_355f閱讀 992評論 0 2

友情鏈接更多精彩內(nèi)容