有些时候,在删除k8s的命名空间时,会出现namespace一直显示Terminating状态
这时可以先用kubectl get all -n ns-name确认下该命名空间所有资源均已删除。再用etcdctl命令从数据库中直接删除掉这个命名空间。
[root@k8s-master0 ~]# alias kc='kubectl'
[root@k8s-master0 ~]# kc create namespace haha
namespace/haha created
# 因为我的etcd是跑在pod里的,故要到pod中去执行etcdctl命令
[root@k8s-master0 ~]# kc get namespaces | grep haha
haha Active 18s
[root@k8s-master0 ~]# kc exec -it etcd-k8s-master0 -n kube-system -- etcdctl --cert /etc/kubernetes/pki/etcd/peer.crt \
--key /etc/kubernetes/pki/etcd/peer.key --endpoints https://127.0.0.1:2379 \
--insecure-skip-tls-verify=true del /registry/namespaces/haha
1 # 命令成功,返回1
[root@k8s-master0 ~]# kc get namespaces | grep haha
[root@k8s-master0 ~]# 没有了!
网友评论