k8s删除Terminating状态的命名空间

news/2025/11/4 19:54:27/文章来源:https://www.cnblogs.com/managechina/p/19191261

k8s删除Terminating状态的命名空间
原创
于 2021-04-07 16:14:02 发布

CC 4.0 BY-SA版权

K8S/Kubernetes
文章已被社区收录
加入社区

K8S
专栏收录该内容
5 篇文章
订阅专栏
在部署Kubesphere时遇到命名空间kubesphere-system处于Terminating状态,导致无法删除。通过查看命名空间详情,编辑JSON文件移除finalizers字段,然后使用kubectl proxy创建API代理,通过curl命令强制删除命名空间,最终成功解决问题并能重新执行kubectl apply命令。
一、概述
最近部署kubesphere时,使用kubectl delete -f xxx.yaml,再次执行 kubectl apply -f xxx.yaml,提示:

Error from server (Forbidden): error when creating "kubesphere-complete-setup.yaml": configmaps "ks-installer" is forbidden: unable to create new content in namespace kubesphere-system because it is being terminated
Error from server (Forbidden): error when creating "kubesphere-complete-setup.yaml": serviceaccounts "ks-installer" is forbidden: unable to create new content in namespace kubesphere-system because it is being terminated
Error from server (Forbidden): error when creating "kubesphere-complete-setup.yaml": deployments.apps "ks-installer" is forbidden: unable to create new content in namespace kubesphere-system because it is being terminated
一键获取完整项目代码
查看命名空间

# kubectl get ns
NAME STATUS AGE
default Active 15h
kube-node-lease Active 15h
kube-public Active 15h
kube-system Active 15h
kubesphere-system Terminating 28m
发现kubesphere-system一直处于Terminating 状态。无法删除命名空间!!
一键获取完整项目代码
二、解决方法
查看kubesphere-system的namespace描述

kubectl get ns kubesphere-system -o json > kubesphere-system.json
一键获取完整项目代码
编辑json文件,删除spec字段的内存,因为k8s集群时需要认证的。

vi kubesphere-system.json


"spec": {
"finalizers": [
"kubernetes"
]
},
更改为:

"spec": {

},
一键获取完整项目代码

新开一个窗口运行kubectl proxy跑一个API代理在本地的8081端口

# kubectl proxy --port=8081
Starting to serve on 127.0.0.1:8081

最后运行curl命令进行删除

curl -k -H "Content-Type:application/json" -X PUT --data-binary @kubesphere-system.json http://127.0.0.1:8081/api/v1/namespaces/kubesphere-system/finalize
注意:命令中的kubesphere-system就是命名空间。

输出:


{
"kind": "Namespace",
"apiVersion": "v1",
"metadata": {
"name": "kubesphere-system",
"selfLink": "/api/v1/namespaces/kubesphere-system/finalize",
"uid": "ba8b8bcd-adf0-4f4f-b6bf-ebab51c00252",
"resourceVersion": "72676",
"creationTimestamp": "2020-07-09T02:04:37Z",
"deletionTimestamp": "2020-07-09T02:09:41Z",
"annotations": {
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"kubesphere-system\"}}\n"
}
},
"spec": {

},
"status": {
"phase": "Terminating",
"conditions": [
{
"type": "NamespaceDeletionDiscoveryFailure",
"status": "True",
"lastTransitionTime": "2020-07-09T02:09:46Z",
"reason": "DiscoveryFailed",
"message": "Discovery failed for some groups, 1 failing: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request"
},
{
"type": "NamespaceDeletionGroupVersionParsingFailure",
"status": "False",
"lastTransitionTime": "2020-07-09T02:09:47Z",
"reason": "ParsedGroupVersions",
"message": "All legacy kube types successfully parsed"
},
{
"type": "NamespaceDeletionContentFailure",
"status": "False",
"lastTransitionTime": "2020-07-09T02:09:47Z",
"reason": "ContentDeleted",
"message": "All content successfully deleted"
}
]
}
}
View Code

再次查看命名空间

# kubectl get ns
NAME STATUS AGE
default Active 15h
kube-node-lease Active 15h
kube-public Active 15h
kube-system Active 15h
发现kubesphere-system命名空间已经消失了

最后再次执行 kubectl apply -f xxx.yaml,就正常了.
————————————————
版权声明:本文为CSDN博主「puppycuty」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38125626/article/details/115488453

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/956006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实用脚本】一键安装Oracle19c数据库

【实用脚本】一键安装Oracle19c数据库完整脚本: #!/bin/bash #Oracle 一键安装工具 log_file="/var/log/oracle_install_$(date +%Y%m%d_%H%M%S).log" # 屏幕输出只显示状态提示,日志文件记录完整详细信息…

程序员必逛的9个开发者社区推荐

程序员必逛的9个开发者社区推荐大家好,我是jobleap.cn的小九。 在技术飞速迭代的今天,开发者想要保持竞争力,离不开优质社区的滋养。无论是解决突发Bug、学习前沿技术,还是交流实战经验、寻找合作机会,合适的社区…

CleanMyMac X 4.14.2 dmg 安装教程|Mac 清理软件详细安装步骤

CleanMyMac X 4.14.2 dmg 安装教程|Mac 清理软件详细安装步骤​ CleanMyMac X​ 是一款专门为 ​Mac 电脑​ 设计的 ​系统清理和优化工具一、下载文件 CleanMyMac X 4.14.2.dmg​ 文件安装包下载: https://pan.quar…

java-迭代器

java-迭代器1.迭代器在遍历集合的时候是不依赖索引的 2.迭代器需掌握三个方法: Iteratorit=list.iterator(); while(it.hasNext()){ String str=it.next(); System.out.println(str); } 3.迭代器的四个细节: *如果当…

go语言访问新浪股票(hq.sinajs.cn)

config.go: package main// 股票代码配置 - 简化版本,只包含主要指数和热门股票 var stockSymbols = []string{// 主要指数"sh000001", // 上证指数"sh000016", // 上证50"sh000300", …

优化算法三剑客:SGD、Adam、AdamW的深度对比

优化算法三剑客:SGD、Adam、AdamW的深度对比 1. 引言:模型训练的"导航系统" 想象一下,你正在一个复杂的地形中寻找最低点(最小损失),四周浓雾弥漫(高维空间不可视)。优化算法就是你的GPS导航系统,它…

某大厂跳动面试:计算机网络相关问题解析与总结 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

动手动脑5

https://files.cnblogs.com/files/blogs/847696/动手动脑5.zip?t=1762256201&download=true程序在第5行有一个问题: int i=1, j=0, k; k=i/j; // 这里会在 try-catch 块之前就抛出异常,导致程序终止 正确的异常…

AI元人文:悟空机制与反思——论智能文明的自我超越之道

AI元人文:悟空机制与反思——论智能文明的自我超越之道 引言 “AI元人文”并非一个已完成的理论城堡,而是一个正在生长中的思想丛林。本文所探讨的“悟空机制”,与笔者此前在相关论述中提及的“决策机制”等概念,在…

从零开始搭建你的 Hexo 静态博客(支持 macOS 与 Windows)

从零开始搭建你的 Hexo 静态博客(支持 macOS 与 Windows)本文将手把手教你如何在 macOS 和 Windows 上使用 Hexo 搭建一个属于自己的静态博客,并部署到 GitHub Pages。文末还附带常见问题及解决方案,助你避开“坑”…

cmake也是个恶大的玩意

cmake也是个恶大的玩意/home/user# apt show scons Package: scons Version: 4.4.0+dfsg-1 Priority: optional Section: devel Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org> Installed-Size: 2,671 …

实用指南:Python 运算符与列表(list)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

接口请求测试题目

接口请求测试题目1. 基础HTTP GET接口请求测试 操作步骤: 1. 打开JMeter,新建测试计划,右键添加“线程组”(线程数1、循环次数1)。 2. 线程组下添加“HTTP请求”,服务器名称/IP填写httpbin.org,端口80,请求方法…

iOS - 从 @property 开始

核心概念本质:@property 是一组访问器方法的声明 (setter/getter) ,编译器可以自动“合成”「访问器」以及「底层存储(ivar)」,并且允许用点语法调用。例如:@property (nonatomic) NSInteger age;编译器等价(自…

使用涡流效应将伽马射线收集到一起的装置

使用涡流效应将伽马射线收集到一起的装置 用中子轰击u235原子核产生伽马射线,通过螺旋线圈使伽马射线的运动轨道成为一个螺旋曲线。在这个螺旋曲线的上面安装一个超导线圈,在这个超导线圈上面安装另一个超导线圈,,…

ESP32 中断

中断 含义:程序被中断程序打断转去执行中断程序 将中断附加到GPIO void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode); ISR 函数原型 void ISR() {//中断发生时执行的代码 }外部中断类型…

25.11.4随笔联考总结

考试 正常通读题面,发现前面两道题比较可做。T3 挺神秘的,我猜那是子序列自动机 dp,T4 一道果的 ds 题。 开题顺序 2134,本来纠结了一会 34 先开谁,最后随缘了。几分钟会了 2 然后写了过了,通知要去体检于是中途…

docker 常用命令本地部署打包

要查看特定容器的挂载设置,请执行以下命令: docker inspect <容器ID或名称> 进入 Docker 容器内部 使用 docker exec 这是推荐的方法,特别是当你想打开一个新的终端会话时。docker exec 可以在运行中的容器中…

Linux中读写自旋锁rwlock的实现 - 详解

Linux中读写自旋锁rwlock的实现 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

用古代数论分析电磁波频谱

用古代数论分析电磁波频谱 下面介绍一种使用古代道教符箓图形,周天列曜星符,分析电磁感应中的电磁波频谱信号。周天列曜星符就是宇宙星辰的排列规律,有无数总画法。通过电路产生一种电磁波信号,或者用电路产生一个…