【常见问题】kubernetes 删除namespace 后一直处于Terminating状态

news/2024/7/23 10:44:25 标签: 运维

问题出现原因

出现无法删除的情况,是因为kubelet 阻塞,有其他的资源在使用该namespace,比如CRD等,尝试重启kubelet,再删除该namespace 也不好使。

在尝试以下命令强制删除也不好使:

kubectl delete ns <terminating-namespace> --force --grace-period=0

解决:

1. 运行以下命令以查看处于“Terminating”状态的namespace:

 kubectl get namespaces

2. 选择一个Terminating namespace,并查看namespace 中的finalizer。运行以下命令:

kubectl get namespace -o yaml
得到类似信息如下:

apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2019-11-20T15:18:06Z"
  deletionTimestamp: "2020-01-16T02:50:02Z"
  name: <terminating-namespace>
  resourceVersion: "3249493"
  selfLink: /api/v1/namespaces/knative-eventing
  uid: f300ea38-c8c2-4653-b432-b66103e412db
spec:
  finalizers:
  - kubernetes
status:
  phase: Terminating

3. 导出json格式到tmp.json:

kubectl get namespace -o json >tmp.json
4.编辑tmp.josn,删除finalizers 字段的值:

{
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    "creationTimestamp": "2019-11-20T15:18:06Z",
    "deletionTimestamp": "2020-01-16T02:50:02Z",
    "name": "<terminating-namespace>",
    "resourceVersion": "3249493",
    "selfLink": "/api/v1/namespaces/knative-eventing",
    "uid": "f300ea38-c8c2-4653-b432-b66103e412db"
  },
  "spec": {
    "finalizers": []
  },
  "status": {
    "phase": "Terminating"
  }
}

5. 开启 proxy :

kubectl proxy

6. 打开新的terminal 窗口,运行以下命令:

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize

输出以下信息:

{

  "kind": "Namespace",
  "apiVersion": "v1",
  "metadata": {
    "name": "istio-system",
    "selfLink": "/api/v1/namespaces/istio-system/finalize",
    "uid": "2e274537-727f-4a8f-ae8c-397473ed619a",
    "resourceVersion": "3249492",
    "creationTimestamp": "2019-11-20T15:18:06Z",
    "deletionTimestamp": "2020-01-16T02:50:02Z"
  },
  "spec": {
    
  },
  "status": {
    "phase": "Terminating"
  }
}

7. 检查该namespace 是否被删除:

 kubectl get namespaces

继续以上步骤删除其他Terminating namespace。

原文链接:https://blog.csdn.net/ANXIN997483092/article/details/104233494/


http://www.niftyadmin.cn/n/1522333.html

相关文章

为什么ai2018老安装不了_电脑重装系统(老毛桃)

第一步将制作好的老毛桃装机版启动u盘插入电脑usb接口&#xff08;如果是台式机&#xff0c;建议插在主机箱的后置接口&#xff09;&#xff0c;然后开启电脑&#xff0c;等到屏幕上出现开机画面后按快捷键进入到老毛桃主菜单页面&#xff0c;接着将光标移至“【02】老毛桃WIN8…

Jenkins的pipline中定义全局变量

注意&#xff1a;首行def定义的变量不能使用赋值。 def var pipeline {agent anystages {stage("定义var") {steps {script {echo varvar "test"}}}stage("打印var") {steps {script {echo var}}}} }pipeline {agent anystages {stage("定…

php在线读取pdf文件大小_怎么把PDF压缩到最小?PDF压缩免费的软件有哪些?

怎么把PDF压缩到最小&#xff1f;我办公中要是要将文件发送给别人&#xff0c;都会先将文件压缩一下&#xff0c;因为很多文件传输平台都是有文件大小限制的&#xff0c;文件太大就传不了。那么PDF文件是怎么压缩的呢&#xff1f;在试过不少方法后找到了两个简单又实用的&#…

python大数据_Python开源项目合集(大数据和人工智能)

pandas - 为 Python 编程语言提供高性能&#xff0c;易用数据结构和数据分析工具。在数据改动和数据预处理方面&#xff0c;Python 早已名声显赫&#xff0c;但是在数据分析与建模方面&#xff0c;Python 是个短板。Pands 软件就填补了这个空白&#xff0c;能让你用 Python 方便…

人身三流指什么_保险合同的客体是什么

在不同的保险合同中&#xff0c;保险人对保险标的的范围都有明确规定&#xff0c;即哪些可以承保&#xff0c;哪些不予承保&#xff0c;哪些一定条件下可以特约承保等&#xff0c;因为不同的保险标的能体现不同的保险利益。那么保险合同的客体是什么&#xff1f;阅读完以下 范海…

改变元素属性方法_网页元素太过正直?那就让她变得圆滑一点!| CSS进阶教程...

圆角的设计风格越来越流行&#xff0c;这也要求了前端开发人员&#xff0c;必须要掌握圆角属性。苹果电脑系统也更新为圆角元素Css提供了一个圆角属性&#xff0c;可以很方便实现圆角&#xff0c;而且还可以任意设置圆角的度数&#xff0c;以达到设置任意弧度的圆角&#xff0c…

三星980处理器和骁龙855_骁龙855跑分出炉,全面PK麒麟980、骁龙845,谁更强?

安卓手机市场的技术创新似乎比苹果新品发布会更有看头——滑盖全面屏、无线充电、超级夜景、屏下指纹等等&#xff0c;有一种百花齐放的感觉。不过安卓手机厂商之间最核心的竞争还是CPU处理器&#xff0c;目前主要以高通、海思、三星和联发科为市场主流。参数比拼虽然在去年12月…

python杨辉三角二维数组_C语言编写杨辉三角(二维数组方法)

C语言实现杨辉三角(二维数组)杨辉三角是什么杨辉三角&#xff0c;是二项式系数在三角形中的一种几何排列&#xff0c;中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲&#xff0c;帕斯卡(1623----1662)在1654年发现这一规律&#xff0c;所以这个表又叫做帕斯…