kubernetes namespace是什么 (kubernetes使用顺序)

Kubernetes如何删除“Terminating”状态下Namespace

1.问题场景概述:

  • 在执行重置服务yaml文件时,一直出现卡死状态
[root@k8s-master ingress-nginx]# kubectl replace --force -f deploy.yaml

kubernetes命名怎么设置,kubernetes主节点名称修改

  • 查看状态发现ingress-nginx 已变成Terminating

Namespace有两种状态:Terminating(终止)、Active(正常)

[root@k8s-master ingress-nginx]# kubectl get ns
NAMESTATUSAGE
defaultActive2d3h
ingress-nginxTerminating14m
kube-node-leaseActive2d3h
kube-publicActive2d3h
kube-systemActive2d3h
kubernetes-dashboardActive133m
test-appActive8h
  • 使用强制删除命令无反应:
[root@k8s-master ingress-nginx]# kubectl delete --force ns ingress-nginx
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
namespace "ingress-nginx" force deleted

2.故障处理步骤:

  • 导出json文件
[root@k8s-master ~]# kubectl get ns ingress-nginx -o json > ingress.json
  • 删除spec字段
"name": "ingress-nginx",
"resourceVersion": "473877",
"selfLink": "/api/v1/namespaces/ingress-nginx",
"uid": "ff06d89d-ea70-4d73-a5c8-3cd5198a1580"
},
"spec": {

},
"status": {
"conditions": [
{
  • 开启代理(新建窗口回话)
[root@k8s-master ~]# kubectl proxy --port=8081

kubernetes命名怎么设置,kubernetes主节点名称修改

  • 使用curl命令删除
[root@k8s-master ~]# curl -k -H "Content-Type:application/json" -X PUT --data-binary @ingress.jsonhttp://127.0.0.1:8081/api/v1/namespaces/ingress-nginx/finalize

kubernetes命名怎么设置,kubernetes主节点名称修改

  • 验证结果
[root@k8s-master ~]# kubectl get ns
NAMESTATUSAGE
defaultActive2d4h
kube-node-leaseActive2d4h
kube-publicActive2d4h
kube-systemActive2d4h
kubernetes-dashboardActive146m
test-appActive8h

到此ingress-nginx工作空间已彻底删除!