删除处于Terminating状态的namespace
查看ns状态
1 2 3 4 5 6 7 |
# kubectl get ns NAME STATUS AGE default Active 48d kube-node-lease Active 48d kube-public Active 48d kube-system Active 48d monitoring Terminating 61m |
---|
可以看到monitoring这个namespace一直处于Terminating
状态,一般情况下强删是删不掉的,强删的方法如下:
1 |
kubectl delete ns monitoring --force --grace-period=0 |
---|
如果删不掉,就参考下面的方法
获取namespace的json文件
1 |
kubectl get ns monitoring -o json > /tmp/monitoring.json |
---|
查看monitoring.json
的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"name":"monitoring"}}n" }, "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "name": "monitoring", "resourceVersion": "6710357", "selfLink": "/api/v1/namespaces/monitoring", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08" }, "spec": { "finalizers": [ "kubernetes" ] }, "status": { "phase": "Terminating" } } |
---|
修改此monitoring.json
文件内容为:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
{ "apiVersion": "v1", "kind": "Namespace", "metadata": { "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"name":"monitoring"}}n" }, "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "name": "monitoring", "resourceVersion": "6710357", "selfLink": "/api/v1/namespaces/monitoring", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08" }, "spec": { }, "status": { "phase": "Terminating" } } |
---|
调用api-server接口进行删除
打开一个新的终端,或者把下面的命令放到后台执行
1 |
kubectl proxy |
---|
调用接口删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# curl -k -H "Content-Type: application/json" -X PUT --data-binary @monitoring.json http://127.0.0.1:8001/api/v1/namespaces/monitoring/finalize { "kind": "Namespace", "apiVersion": "v1", "metadata": { "name": "monitoring", "selfLink": "/api/v1/namespaces/monitoring/finalize", "uid": "db09b70a-6198-443b-8ad7-5287b2483a08", "resourceVersion": "6710357", "creationTimestamp": "2020-05-26T06:29:13Z", "deletionTimestamp": "2020-05-26T07:16:09Z", "annotations": { "kubectl.kubernetes.io/last-applied-configuration": "{"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"name":"monitoring"}}n" } }, "spec": { }, "status": { "phase": "Terminating" } } |
---|
输出以上内容表示删除成功。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 3分钟短文:说说Laravel通用缓存Cache的使用技巧
- 【技术创作101训练营】想用代码改变世界?先用好Git和Github!
- 绘制散点图(克利夫兰系列)
- 绘制分组散点图(克里夫兰点图)
- ggplot2绘制玫瑰图
- 绘制极坐标系条形图
- 四步重新认识冗余机器人的控制器设计
- 人脸识别接入常见问题汇总
- TKE上关于postStart 和preStop使用
- 文字识别接入常见问题
- 从 1 到 0 构建博客项目(2) -- 操作系统篇(2)--定制Centos
- 使用Angular依赖注入自定义SAP Spartacus的ProductAdapter
- 获取SAP Spartacus当前显示产品json数据的又一办法
- SAP Spartacus注入自定义的CurrentProductService
- Redis系列(十三)应用之分布式锁