kubectl delete namespace <namespace-name> --force --grace-period=0 这个命令会立即删除 Namespace,而不会等待 Pod 等资源的优雅关闭。但是,这种方法存在一定的风险,可能会导致数据丢失或资源状态不一致。因此,在使用这种方法之前,请务必确认 Namespace 下没有重要的资源需要保留。 清理Finalizers 如果Namespace ...
一. 正常情况情况下的删除: kubectl delete namespace jenkins 二. 如果上面的方法不能删除,且namespace的状态一直显示为Terminating的话 要查看一下这个ns的信息 kubectl edit namespace jenkins, 如果它有finalizer的话,这它删除掉,就可以删除这个namespace. 关于finalizer的信息,见:https://kubernetes.io/docs/task...
$ cat<<EOF | kubectl create -f -apiVersion: v1kind: ConfigMapmetadata:name: mymapfinalizers:- kubernetesEOF 1. 2. 3. 4. 5. 6. 7. 8. 终结器通常用于名称空间 (namespace),而管理 configmap 资源的控制器不知道该如何处理 finalizers 字段。下面我们尝试删除这个 configmap 对象: 复制 $ kubectl...
随便给一个configmap,加上个finalizers字段之后,然后使用kubectl delete删除它就会发现,直接是卡住的,kubernetes自身永远也删不了它。 参考:https://kubernetes.io/blog/2021/05/14/using-finalizers-to-control-deletion/#understanding-finalizers 原因何在? 原来Finalizers在设计上就是个pre-delete的钩子,其目的是让...
force-delete-ns.sh #!/bin/bashset -exPATH=$PATH:.NAMESPACE=$1 # 读取命令行第一个参数kill -9 $(ps -ef|grep proxy|grep -v grep |awk '{print $2}')kubectl proxy --port=6880 &kubectl get namespace ${NAMESPACE} -o json |jq '.spec = {"finalizers":[]}' > namespace.jsoncurl...
finalizers: - kubernetes status: phase: Terminating 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Run the following command to create a temporary JSON file: kubectl get namespace <terminating-namespace> -o json >tmp.json ...
force-delete-ns.sh #!/bin/bashset-ex PATH=$PATH:. NAMESPACE=$1# 读取命令行第一个参数kill-9$(ps -ef|grepproxy|grep-vgrep|awk'{print$2}')kubectl proxy --port=6880&kubectl get namespace${NAMESPACE}-o json|jq'.spec = {"finalizers":[]}'>namespace.json ...
删除空间kubectl delete ns nginx-ingress如果发现一直处在Terminating,执行以下两步即可 1.先把proxy开起来,不然8001端口访问不到:kubectl proxy 2.生成json文件kubectl get namespace nginx-ingress -o json |jq '.spec = {"finalizers":[]}' >temp.json3.执行删除curl -k -H "Content-Type: application/js...
[root@k8s-master1 ~]# kubectl delete ns <terminating-namespace> --force --grace-period=0 解决: 1. 运行以下命令以查看处于“Terminating”状态的namespace: [root@k8s-master1 ~]# kubectl get namespaces 2. 选择一个Terminating namespace,并查看namespace 中的finalizer。运行以下命令: ...
force-delete-ns.sh #!/bin/bash set -ex PATH=$PATH:. NAMESPACE=$1 # 读取命令行第一个参数 kill -9 $(ps -ef|grep proxy|grep -v grep |awk '{print $2}') kubectl proxy --port=6880 & kubectl get namespace ${NAMESPACE} -o json |jq '.spec = {"finalizers":[]}' > namespace...