k8s删除namespace失败一直处于Terminating状态

2024-04-09 09:28

本文主要是介绍k8s删除namespace失败一直处于Terminating状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

获取Terminating状态的namespace

~ kubectl  get namespace
NAME                                     STATUS        AGE
bluehelix                                Active        146d
broker                                   Active        146d
cattle-fleet-clusters-system             Active        87d
cert-manager                             Terminating   87d

查询要删除的namespace下是否还有资源

~ kubectl  get all -n cert-manager
No resources found in cert-manager namespace.

导出为json

~ kubectl get ns cert-manager -o json > cert-manager.json

删除json文件中的finalize关键字字段

vim cert-manager.json
删除前 "spec": {"finalizers": ["kubernetes"]},删除后"spec": {"finalizers": []},

开启 proxy

~ kubectl proxy
Starting to serve on 127.0.0.1:8001

另起终端 指定刚才的json文件 执行以下命令进行删除操作

curl -k -H "Content-Type: application/json" -X PUT --data-binary @cert-manager.json http://127.0.0.1:8001/api/v1/namespaces/cert-manager/finalize  

再次获取namespace状态,删除成功

~ kubectl  get namespace
NAME                                     STATUS        AGE
bluehelix                                Active        146d
broker                                   Active        146d
cattle-fleet-clusters-system             Active        87d

如果仍然无法删除命名空间,请查看metadata部分是否存在finalizers字段,如果存在,需要删除

#查看finalizers
~ kubectl get namespace cert-manager -o json | jq '.metadata.finalizers'
["controller.cattle.io/namespace-auth"
]vim cert-manager.json
删除前 "metadata": {"finalizers": ["controller.cattle.io/namespace-auth"],删除后"metadata": {"finalizers": [ ],#执行命令
curl -k -H "Content-Type: application/json" -X PUT --data-binary @cert-manager.json http://127.0.0.1:8001/api/v1/namespaces/cert-manager/finalize 

这篇关于k8s删除namespace失败一直处于Terminating状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887777

相关文章

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

MySQL中的DELETE删除数据及注意事项

《MySQL中的DELETE删除数据及注意事项》MySQL的DELETE语句是数据库操作中不可或缺的一部分,通过合理使用索引、批量删除、避免全表删除、使用TRUNCATE、使用ORDERBY和LIMI... 目录1. 基本语法单表删除2. 高级用法使用子查询删除删除多表3. 性能优化策略使用索引批量删除避免

使用Python实现在PDF中添加、导入、复制、移动与删除页面

《使用Python实现在PDF中添加、导入、复制、移动与删除页面》在日常办公和自动化任务中,我们经常需要对PDF文件进行页面级的编辑,使用Python,你可以轻松实现这些操作,而无需依赖AdobeAc... 目录1. 向 PDF 添加空白页2. 从另一个 PDF 导入页面3. 删除 PDF 中的页面4. 在

Python中Namespace()函数详解

《Python中Namespace()函数详解》Namespace是argparse模块提供的一个类,用于创建命名空间对象,它允许通过点操作符访问数据,比字典更易读,在深度学习项目中常用于加载配置、命... 目录1. 为什么使用 Namespace?2. Namespace 的本质是什么?3. Namesp