Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >k8s删除Terminating状态的命名空间

k8s删除Terminating状态的命名空间

作者头像
py3study
发布于 2020-08-13 02:59:48
发布于 2020-08-13 02:59:48
3.2K00
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

一、概述

最近部署kubesphere时,使用kubectl  delete -f xxx.yaml,再次执行 kubectl apply -f xxx.yaml,提示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

查看命名空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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描述

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kubectl get ns kubesphere-system  -o json > kubesphere-system.json

编辑json文件,删除spec字段的内存,因为k8s集群时需要认证的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi kubesphere-system.json

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"spec": {        "finalizers": [            "kubernetes"
        ]
    },

更改为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"spec": {
    
  },

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# kubectl proxy --port=8081
Starting to serve on 127.0.0.1:8081

最后运行curl命令进行删除

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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就是命名空间。

输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "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"
      }
    ]
  }
}

再次查看命名空间

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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,就正常了。

本文参考链接:

https://blog.csdn.net/tongzidane/article/details/88988542

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
kubernetes(k8s)命名空间一直Terminating
回到刚才窗口 将 terminating 状态的命名空间信息导出到 json 文件:
小陈运维
2022/04/01
1.3K0
快速搭建kubernetes与kubeSphere环境(亲测有效)
最近在学习k8s,但是安装k8s实在太麻烦了,也耗费了不少时间,下面来说说安装步骤。以下是我的机器配置,其实2核4G也可以,但是因为我想学习下kubeSphere就要求配置高了
蒋老湿
2019/11/14
6.3K0
k8s集群中namespace状态一直显示Terminating如何解决
因为k8s主节点使用了认证,如果直接使用命令会拒绝连接,需要使用kube-proxy进行代理8081端口
linus_lin
2024/09/06
1290
k8s集群中namespace状态一直显示Terminating如何解决
k8s命名空间和运行环境
k8s默认会自动生成3个命名空间 default:所有未指定Namespace的对象都会被分配在default命名空间。 kube-system:所有由Kubernetes系统创建的资源都处于这个命名空间。 kube-public:此命名空间下的资源可以被所有人访问(包括未认证用户)。
丁D
2022/08/12
1.6K0
Kubernetes Dashboard 终结者:KubeSphere
2018 年 7 月份,青云在 Cloud Insight 云计算峰会上推出了一款全新的容器平台——KubeSphere,旨在帮助企业快速低成本管理容器。并且 KubeSphere 本身是开源的,它是基于 Kubernetes 构建的分布式、多租户、企业级开源容器平台,具有强大且完善的网络与存储能力,并通过极简的人机交互提供完善的多集群管理、CI / CD 、微服务治理、应用管理等功能,帮助企业在云、虚拟化及物理机等异构基础设施上快速构建、部署及运维容器架构,实现应用的敏捷开发与全生命周期管理。
米开朗基杨
2019/09/24
1.9K0
Kubernetes Dashboard 终结者:KubeSphere
【k8s】鲲鹏(arm64)+银河麒麟V10离线部署K8S+KubeSphere+Harbor
本文只演示离线部署过程,离线制品和其他安装包可查看之前文章自己制作,也可添加作者微信:sd_zdhr获取。
编码如写诗
2025/03/14
4194
【k8s】鲲鹏(arm64)+银河麒麟V10离线部署K8S+KubeSphere+Harbor
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
本文介绍了如何在 openEuler 22.03 LTS SP2 aarch64 架构服务器上部署 KubeSphere 和 Kubernetes 集群。我们将使用 KubeSphere 开发的 KubeKey 工具实现自动化部署,在三台服务器上实现高可用模式最小化部署 Kubernetes 集群和 KubeSphere。
运维有术
2023/10/18
8400
ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
33 张高清大图,带你玩转 KubeSphere v4.1.2 部署与扩展组件安装
备受瞩目的 KubeSphere v4.1.2 已经正式官宣发布,该版本带来了一个重大优化:增加默认的扩展组件仓库。
运维有术
2024/11/12
7950
33 张高清大图,带你玩转 KubeSphere v4.1.2 部署与扩展组件安装
KubeSphere3.0启用k8s多集群
多集群功能涉及到多个集群之间的网络连通,了解集群之前的网络拓扑有助于减少接下来的工作量。
jwangkun
2021/12/23
1.3K0
KubeSphere3.0启用k8s多集群
KubeSphere 最佳实战:59 张高清大图,带你实战入门 KubeSphere DevOps
KubeSphere 基于 Jenkins[1] 的 DevOps 系统是专为 Kubernetes 中的 CI/CD 工作流设计的,它提供了一站式的解决方案,帮助开发和运维团队用非常简单的方式构建、测试和发布应用到 Kubernetes。它还具有插件管理、Binary-to-Image (B2I)[2]、Source-to-Image (S2I)[3]、代码依赖缓存、代码质量分析、流水线日志等功能。
运维有术
2024/08/19
4320
KubeSphere 最佳实战:59 张高清大图,带你实战入门 KubeSphere DevOps
KubeSphere DevOps 初体验,内置 Jenkins 引擎
KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere 支持部署在任何基础设施环境,提供在线与离线安装,支持一键升级与扩容集群,并且各功能组件支持模块化和可插拔的安装。
LinuxSuRen
2020/07/03
2.3K0
K8S:分享一次“乌龙问题”(人为导致的无法正常删除命名空间)
问题出在这里:DiscoveryFailed: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
不背锅运维
2023/05/07
1.3K0
K8S:分享一次“乌龙问题”(人为导致的无法正常删除命名空间)
k8s基础-命名空间
k8s命名空间为对象名称提供了一个作用域,我们可以把资源放到不同的命名空间中,这样我们可以使用同名的资源名称,只要保证同一命名空间中的资源名称唯一即可
dogfei
2020/07/31
7210
k8s删除Terminating状态的命名空间
背景: 我们都知道在k8s中namespace有两种常见的状态,即Active和Terminating状态,其中后者一般会比较少见,只有当对应的命名空间下还存在运行的资源,但是该命名空间被删除时才会出现所谓的terminating状态,这种情况下只要等待k8s本身将命名空间下的资源回收后,该命名空间将会被系统自动删除。但是今天遇到命名空间下已没相关资源,但依然无法删除terminating状态的命名空间的情况,特此记录一下.
BGBiao
2019/10/23
4.2K0
ARM 版 Kylin V10 部署 KubeSphere v3.4.0 不完全指南
本文介绍了如何在 麒麟 V10 aarch64 架构服务器上部署 KubeSphere 和 Kubernetes 集群。我们将使用 KubeSphere 开发的 KubeKey 工具实现自动化部署,在三台服务器上实现高可用模式最小化部署 Kubernetes 集群和 KubeSphere。
运维有术
2023/11/09
1.4K1
ARM 版 Kylin V10 部署 KubeSphere v3.4.0 不完全指南
删除namespace为什么会Terminating?
当我们删除集群中的某个namespace之后,有时候namespace并没有按照我们的期望正常删除,而是一直卡在Terminating状态。本文主要讨论下Terminating状态发生的可能性以及解决办法。
keke.
2021/03/16
10.1K0
KubeSphere 最佳实战:59 张高清大图,带你实战入门 KubeSphere DevOps
KubeSphere 基于 Jenkins 的 DevOps 系统是专为 Kubernetes 中的 CI/CD 工作流设计的,它提供了一站式的解决方案,帮助开发和运维团队用非常简单的方式构建、测试和发布应用到 Kubernetes。它还具有插件管理、Binary-to-Image (B2I)、Source-to-Image (S2I)、代码依赖缓存、代码质量分析、流水线日志等功能。
运维有术
2024/08/14
4340
KubeSphere 最佳实战:59 张高清大图,带你实战入门 KubeSphere DevOps
在现有 Kubernetes 集群上安装 KubeSphere
KubeSphere是在 Kubernetes 之上构建的企业级分布式多租户容器管理平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。除此之外,平台已经整合并优化了多个适用于容器场景的功能模块,以完整的解决方案帮助企业轻松应对敏捷开发与自动化运维、微服务治理、多租户管理、工作负载和集群管理、服务与网络管理、应用编排与管理、镜像仓库管理和存储管理等业务场景。
jwangkun
2021/12/23
1K0
在现有 Kubernetes 集群上安装 KubeSphere
基于 KubeSphere 玩转 k8s 第二季|KubeKey 扩容 Kubernetes Worker 节点实战
上一期,我们实战讲解了使用 KubeSphere 开发的 KubeKey 工具自动化部署 3 Master 和 1 Worker 的 Kubernetes 集群和 KubeSphere。
运维有术
2023/07/16
5710
KubeSphere离线无网络环境部署
KubeSphere 是 GitHub 上的一个开源项目,是成千上万名社区用户的聚集地。很多用户都在使用 KubeSphere 运行工作负载。对于在 Linux 上的安装,KubeSphere 既可以部署在云端,也可以部署在本地环境中,例如 AWS EC2、Azure VM 和裸机等。
小陈运维
2022/01/13
1.3K0
推荐阅读
相关推荐
kubernetes(k8s)命名空间一直Terminating
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验