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