k8s的namespace资源一直terminating问题解决
问题:删除ns时一直显示terminating的状态
解决:
方法一:
通过强制删除,并且设置优雅删除时间为0(默认为30s)kubectl delete ns cattle-system --force --grace-period=0
实践后发现并不好使
方法二:
通过k8s提供的api接口,把.metadata.finalizers字段及其内容删除,从而k8s会直接将该ns删除$ kubectl get ns cattle-system -o json > cattle-system.json$ cat cattle-system.json{"apiVersion": "v1","kind": "Namespace","metadata": {"annotations": {"cattle.io/status": "{\"Conditions\":[{\"Type\":\"ResourceQuotaInit\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2022-04-19T04:11:00Z\"},{\"Type\":\"InitialRolesPopulated\",\"Status\":\"True\",\"Message\":\"\",\"LastUpdateTime\":\"2022-04-19T04:11:06Z\"}]}","field.cattle.io/projectId": "c-m-p9qpsm85:p-xxjt6","kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Namespace\",\"metadata\":{\"annotations\":{},\"name\":\"cattle-system\"}}\n","lifecycle.cattle.io/create.namespace-auth": "true","management.cattle.io/no-default-sa-token": "true"},"creationTimestamp": "2022-04-19T04:10:57Z","deletionGracePeriodSeconds": 0,"deletionTimestamp": "2022-04-19T04:13:25Z","finalizers": ["controller.cattle.io/namespace-auth"],"name": "cattle-system","resourceVersion": "189264460","selfLink": "/api/v1/namespaces/cattle-system","uid": "b71ffd2d-bf96-11ec-a6c4-fa163eb86964"},"spec": {},"status": {"phase": "Terminating"}}$ kubectl proxy --port=8081(开启k8s apiserver的一个http代理,以免必须带上证书才能访问)$ curl -k -H "Content-Type: application/json" -X PUT --data-binary @cattle-system.json http://127.0.0.1:8081/api/v1/namespaces/cattle-system/finalize
经过第二种方法后,果然ns删除
k8s的namespace资源一直terminating问题解决相关推荐
- k8s中namespace资源讲解
前言 环境:centos7.9 docker-ce-20.10.9 kubernetes-version v1.22.6 什么是namespace namespace是kubernetes系统中的一种 ...
- K8S集群中Pod资源处于Terminating或Unknown状态排查思路
K8S集群中Pod资源处于Terminating或Unknown状态排查思路 文章目录 K8S集群中Pod资源处于Terminating或Unknown状态排查思路 1.Pod资源处于Terminat ...
- Kubernetes(k8s)常用资源的使用、Pod的常用操作
1.K8s是如何运行容器的. 答:k8s是通过定义一个Pod的资源,然后在Pod里面运行容器的.K8s最小的资源单位Pod. 2.如何创建一个Pod资源呢? 答:在K8s中,所有的资源单位都可以使用一 ...
- k8s之Namespace详解
Namespace 隔离资源 默认情况下,kubernetes集群中的所有的Pod都是可以相互访问的.但是在实际中,可能不想让两个Pod之间进行互相的访问,那此时就可以将两个Pod划分到不同的name ...
- k8s操作自定义资源
如何操作自定义资源? client-go为每种K8S内置资源提供对应的clientset和informer.那如果我们要监听和操作⾃定义资源对象,应该如何做呢?这⾥我们有两种⽅式: ⽅式⼀: 使⽤cl ...
- k8s 清理namespace(命名空间)资源
#清理lee-dev命名空间所有资源,操作如下: 1.先查找该命名空间下的资源有哪些, kubectl api-resources --verbs=list --namespaced -o name ...
- K8s无法删除状态为terminating的pod解决方法
1. pod删除 每当删除namespace或pod 等一些Kubernetes资源时,有时资源状态会卡在terminating,很长时间无法删除,甚至有时增加--force flag(强制删除)之后 ...
- operator-sdk实战开发K8S CRD自定义资源对象
环境说明 系统:CentOS Linux release 7.6.1810 (Core) golang:v1.15 operator-sdk:v1.7.0 docker:v1.19 # 因为 oper ...
- 强制删除k8s中的命名空间为 Terminating 的ns
为什么删除ns的时候会出现 Terminating,并且删除不掉? 要删除一个命名空间,Kubernetes 必须删除该命名空间中的所有资源,然后检查注册的 API 服务的状态.如果该命名空间包含 K ...
最新文章
- 苹果手机怎么设置时间24小时制_外媒实测苹果iPhone 12续航:5G网络下表现不佳...
- 综述 | 森林微生物组:多样性,复杂性和动态变化(IF:11.3)
- Python单元测试去哪儿了?
- 相同VLAN跨交换机通信
- 【java】简单的方式实现文本文件的读写
- boost::overwrite相关的测试程序
- Component Configuration.js - 所有支持属性列表 - configuration priority
- WebLogic域的创建与发布
- 理解C++中拷贝构造函数
- C++对txt文本进行读写操作
- spring boot项目Intellij 打包
- iisweb服务器完美解决方案
- vue.js 添加 fastclick的支持
- CDOJ 485 UESTC 485 	Game (八数码变形,映射,逆cantor展开)
- ubuntu20.04下QT安装
- CamTwist 3.4.3最新版(macOS 虚拟摄像头)
- APP消息推送-个推java端实现
- Win7任务管理器显示不全问题解决办法
- kex_exchange_identification: Connection closed by remote host
- JS的特性:异步 + 事件驱动