关于k8s 删除 ingress-nginx namespace长时间处于Terminating

原本我想下载ingress-nginx,一直拉不下来后面发现网站已经没有了

[root@k8s-master ~]# kubectl get pods -A
NAMESPACE       NAME                                         READY   STATUS             RESTARTS      AGE
default         nginx-5f4cf5b5b4-gr95f                       1/1     Running            0             11h
default         nginx-5f4cf5b5b4-h28gj                       1/1     Running            0             11h
default         nginx-5f4cf5b5b4-wh9xd                       1/1     Running            0             11h
ingress-nginx   ingress-nginx-admission-create-zs4br         0/1     Completed          0             67s
ingress-nginx   ingress-nginx-admission-patch-grsnf          0/1     CrashLoopBackOff   3 (24s ago)   67s
ingress-nginx   ingress-nginx-controller-79759485b-6hrsf     0/1     Running            0             68s
kube-system     calico-kube-controllers-86b55cf789-d52tz     1/1     Running            0             13h
kube-system     calico-node-7c9sc                            1/1     Running            0             13h
kube-system     calico-node-q7bwq                            1/1     Running            0             13h
kube-system     calico-node-xk2ld                            1/1     Running            0             13h
kube-system     coredns-7bc88ddb8b-nv77z                     1/1     Running            0             13h
kube-system     dashboard-metrics-scraper-77b667b99d-dcbnv   1/1     Running            0             13h
kube-system     kubernetes-dashboard-74fb9f77fb-m7lz6        1/1     Running            1 (92m ago)   13h
kube-system     metrics-server-dfb478476-bkk4w               0/1     ImagePullBackOff   0             11h
kube-system     node-local-dns-bwklb                         1/1     Running            0             13h
kube-system     node-local-dns-l4rxj                         1/1     Running            0             13h
kube-system     node-local-dns-zsbtj                         1/1     Running            0             13h

后面删除服务一直删不掉就卡在这里

[root@k8s-master ~]# kubectl delete -f deploy.yaml 
namespace "ingress-nginx" deleted
serviceaccount "ingress-nginx" deleted
configmap "ingress-nginx-controller" deleted
clusterrole.rbac.authorization.k8s.io "ingress-nginx" deleted
clusterrolebinding.rbac.authorization.k8s.io "ingress-nginx" deleted
role.rbac.authorization.k8s.io "ingress-nginx" deleted
rolebinding.rbac.authorization.k8s.io "ingress-nginx" deleted
service "ingress-nginx-controller-admission" deleted
service "ingress-nginx-controller" deleted
deployment.apps "ingress-nginx-controller" deleted
validatingwebhookconfiguration.admissionregistration.k8s.io "ingress-nginx-admission" deleted
serviceaccount "ingress-nginx-admission" deleted
clusterrole.rbac.authorization.k8s.io "ingress-nginx-admission" deleted
clusterrolebinding.rbac.authorization.k8s.io "ingress-nginx-admission" deleted
role.rbac.authorization.k8s.io "ingress-nginx-admission" deleted
rolebinding.rbac.authorization.k8s.io "ingress-nginx-admission" deleted
job.batch "ingress-nginx-admission-create" deleted
job.batch "ingress-nginx-admission-patch" deleted

查看ns发现一直Terminating中

NAME              STATUS        AGE
default           Active        13h
ingress-nginx     Terminating   4m12s
kube-node-lease   Active        13h
kube-public       Active        13h
kube-system       Active        13h
[root@k8s-master ~]# 

经过我网上查询资料解决这个问题

首先将命名空间 ingress-nginx 的详细信息以 JSON 格式输出,并将输出保存到名为 tmp.json 的文件中。

[root@k8s-master ~]# kubectl get ns ingress-nginx -o json > tmp.json
[root@k8s-master ~]# ls
anaconda-ks.cfg  ansible  ansible.tar.gz  deploy.yaml  kubeasz-3.6  kubeasz-3.6.zip  original-ks.cfg  tmp.json

进入tmp.json文件并将我标记的那行文字删除

使用此命令开启端口,这个会占用当前页面,重新开个窗口执行下一步操作  kubectl proxy --port=8001

[root@k8s-master ~]# kubectl proxy --port=8001
Starting to serve on 127.0.0.1:8001

使用 cURL 工具向 Kubernetes API 发送一个 PUT 请求,以更新命名空间 ingress-nginx 的信息。注意要和你前面开启的端口一致

[root@k8s-master ~]# curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/ingress-nginx/finalize

执行完以后就不会再有terminating状态

[root@k8s-master ~]# kubectl get ns
NAME              STATUS   AGE
default           Active   13h
kube-node-lease   Active   13h
kube-public       Active   13h
kube-system       Active   13h

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值