K8S中删除Terminating状态的命名空间

embedded/2024/10/18 0:23:40/

1.查看当前命名空间

[root@k8smaster1 home]# kubectl get ns
NAME              STATUS        AGE
app               Active        16d
default           Active        17d
hd                Active        16d
ingress-nginx     Terminating   5m8s
kube-node-lease   Active        17d
kube-public       Active        17d
kube-system       Active        17d
kuboard           Active        16d
zhangq            Active        16d

由上面可以看出,咱们删除ingress-nginx服务没删除成功,ingress-nginx命名空间的状态是Terminating 的状态导致删除命令卡主

2.使用强制删除的命名试验能否删除成功

[root@k8smaster1 home]# kubectl delete ns ingress-nginx --force --grace-period=0
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
#删除命名一直卡住,执行无效

3.Terminating 状态的命名空间一般使用强制删除的命名是不可以的,咱们使用以下方式删除Terminating状态的命名空间

获取namespace的配置文件,格式为json

[root@k8smaster1 home]# [root@k8smaster1 home]# kubectl get namespace ingress-nginx -o json > tmp.json

修改tmp.yaml中的配置

[root@k8smaster1 home]# vi tmp.json
"spec": {"finalizers": ["kubernetes"]},
#修改为
"spec": {},

开启apiserver的代理

[root@k8smaster1 ingress]#  kubectl proxy --port=8088
Starting to serve on 127.0.0.1:8088

调用api开始删除,命名如下

[root@k8smaster1 home]# curl -k -H "Content-Type:application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8088/api/v1/namespaces/ingress-nginx/finalize#http://127.0.0.1:8088/api/v1/namespaces/《要删除的命名空间》/finalize    #这里的namespaces后面要写你要删除的命名空间

检查是否删除成功

[root@k8smaster1 home]# kubectl get ns
NAME              STATUS   AGE
app               Active   16d
default           Active   17d
hd                Active   16d
kube-node-lease   Active   17d
kube-public       Active   17d
kube-system       Active   17d
kuboard           Active   16d
zhangq            Active   16d

以上可以看出删除成功


http://www.ppmy.cn/embedded/35062.html

相关文章

蚁群算法路径规划matlab

蚁群算法(Ant Colony Optimization, ACO)是一种模拟蚂蚁寻找食物路径的优化算法,它被广泛应用于路径规划问题中。在MATLAB中实现蚁群算法进行路径规划的基本步骤如下: 初始化:设置算法参数,包括蚂蚁数量、信…

计算机网络 备查

OSI 七层模型 七层模型协议各层实现的功能 简要 详细 TCP/IP协议 组成 1.传输层协议 TCP 2.网络层协议 IP 协议数据单元(PDU)和 封装 数据收发过程 数据发送过程 1. 2.终端用户生成数据 3.数据被分段,并加上TCP头 4.网络层添加IP地址信息…

U3D游戏开发按钮相关

有一天一个小伙伴跟我说,对于按钮相关网络某些教程并不全面,我大致看了,几乎差不多,接下来就大致补充一点代码相关的知识点了,还有我日常开发常用的一些按钮相关代码知识。 目录 1.UGUI的普通按钮相关 2.UGUI的异型…

Go 语言(三)【面向对象编程】

1、OOP 首先,Go 语言并不是面向对象的语言,只是可以通过一些方法来模拟面向对象。 1.1、封装 Go 语言是通过结构体(struct)来实现封装的。 1.2、继承 继承主要由下面这三种方式实现: 1.2.1、嵌套匿名字段 //Add…

论文笔记总结

写论文不能只讲概念,一定要结合项目理论实际。》例如某xxx具体的项目例子,不能描述某一个软件的功能。 1.历年真题 2.十段式划分(回应子题目,三个子题目) 3.论文模板,万能模板 4.具体主题相关 第一个主…

docker安装redis命令及运行

docker安装redis: docker run -d -p 6379:6379 --name redis redis:latest -d: 以 守护进程模式 运行容器,容器启动后会进入后台运行,并脱离当前命令行会话。 -p: 显示端口号。 -p 6379:6379: 将容器内部的 6379 端口映射到宿主机 6379 端…

一、Vagrant搭建相关环境

目录 一、创建Vagrant相关环境1.下载安装VirtualBox2.在BlOS中设置CPU虚拟化3.使用Vagrant新建linux虚拟机3.1下载Vagrant3.2Vagrant官方镜像仓库3.3使用Vagrant初始化一个centos7的虚拟机 4.设置固定ip地址 二、安装docker1.按照docker 三、docker安装一些中间件1.mysql安装2.…

vue3中的reactive和ref

🌏总结:reactive 适用于创建复杂的响应式对象,而 ref 则适用于创建简单的响应式值。 reactive 和 ref 是 Vue 3 Composition API 中用于创建响应式数据的两种主要方式,它们的作用如下: 响应式数据管理: rea…