kubernetes批量删除长期处于Terminating状态的namespace

环境是k3s 1.19.1版本 

有时候跑实验,实验总是卡住,而且还删不了ns,一跑又n个

强行删除有风险,强删需谨慎!!

 

创建脚本 delns.sh

 

复制代码
#!/bin/bash
for i in "$@" ; do 
    echo "接收到ns名称为$i,准备删除"
    kubectl get ns $i -o json >$i.json
    sed -i '/"kubernetes"/d' $i.json
    kubectl replace --raw "/api/v1/namespaces/$i/finalize" -f $i.json
    echo "删除$i,完毕"
done
复制代码

复制脚本到/usr/bin/下,方便调用

删除处于Terminating 的ns
kubectl get ns |grep Terminating |awk {'print $1'} |xargs   delns.sh

根据ns名称删除{namespace}改为名称大概的开头

kubectl get ns |awk {'print $1'} |grep {namespace}|xargs   delns.sh

 

 
 
 
posted @ 2024-07-22 14:58  牧之丨  阅读(1)  评论(0编辑  收藏  举报