k8s删除Terminating状态的命名空间

小丫5个月前技术文章224

问题描述

Kubernetes中namespace有两种常见的状态,即Active和Terminating状态,其中Terminating状态一般会比较少见,当对应的命名空间下还存在运行的资源,但该命名空间被删除时才会出现所谓的Terminating状态,这种情况下只要等待Kubernetes本身将命名空间下的资源回收后,该命名空间将会被系统自动删除。

但是在某些情况下,即使命名空间下没有运行的资源,但依然无法删除Terminating状态的命名空间的情况,它会一直卡在Terminating状态下。

问题解决

1、查看命名空间详情

kubectl get ns |grep ingress-nginx-2

2、查看该命名空间下的资源

# 查看集群中可以使用命名空间隔离的资源
kubectl api-resources -o name --verbs=list --namespaced | xargs -n 1 kubectl get --show-kind --ignore-not-found -n ingress-nginx-2

发现ingress-nginx-2命名空间下并无资源占用。

3、尝试对命名空间进行删除

直接删除命名空间ingress-nginx-2

kubectl  delete ns ingress-nginx-2

未能正常删除

4、使用强制删除

kubectl  delete ns ingress-nginx-2 --force --grace-period=0

依然无法删除该命名空间

5、使用原生接口删除

大部分情况下删除不掉资源,需要使用原生接口删除。获取namespace的详情信息

kubectl  get ns ingress-nginx-2  -o json > ingress-nginx-2.json

查看namespace定义的json配置,编辑json文件并删除掉spec部分。

vim ingress-nginx-2.json


如果仍然无法删除命名空间,请查看metadata部分是否存在finalizers字段,如果存在,需要通过如下命令进入命名空间后删除该字段:

kubectl edit ns ingress-nginx-2

使用kubectl代理,执行命令

kubectl proxy --port=8080

使用一下命令进行测试

curl http://localhost:8080/api/

输出类似如下内容

image.png使用http接口进行删除

curl -k -H "Content-Type: application/json" -X PUT --data-binary @xx.json http://127.0.0.1:8080/api/v1/namespaces/命名空间的名字/finalize

再次查看,成功删除


相关文章

DRDS 整库恢复介绍

DRDS 整库恢复介绍

1 整库恢复注意事项1、PolarDB-X 1.0自动备份策略默认关闭,需要您手动开启。PolarDB-X 1.0日志备份能力依赖下层RDS,PolarDB-X1.0控制台设置的日志备份策略会自动同步...

CPU及磁盘性能监测

CPU及磁盘性能监测

一、简述sysstat 包含了常用的 Linux 性能工具,用来监控和分析系统的性能。本次内容会用到这个包的两个命令 mpstat 和iostat。mpstat 是一个常用的多核 CPU 性能分析工具...

kubernetes openelb

1、背景在云服务环境中的 Kubernetes 集群里,通常可以用云服务提供商提供的负载均衡服务来暴露 Service,但是在本地没办法这样操作。而 OpenELB 可以让用户在裸金属服务器、边缘以及...

Kubernetes安全--基于sa和user的rbac认证机制

前言Kubernetes中的用户K8S中有两种用户(User)——服务账号(ServiceAccount)和普通意义上的用户(User)ServiceAccount是由K8S管理的,而User通常是在...

REPMGR-PG高可用搭建(三)

REPMGR-PG高可用搭建(三)

2.2.2repmgr安装兼容性3节点均安装repmgr1.安装依赖 # yum install flex 2.下载解压 # wget -c https://repmgr.org/downloa...

CDH实操--kudumaster迁移

CDH实操--kudumaster迁移

1 概述本次kudumaster迁移,中间不需要停kudu集群(会涉及滚动重启kudu角色); 注:若因为任务持续运行导致kudu停止超时可手动一台台停止-启动2 master迁移将cdh2中的ma...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。