当前位置: 首页 > news >正文

k8s强制删除podpvpvc和nsnamespace

k8s如何强制删除pod&pv&pvc和ns&namespace方法

namespace、pod、pv、pvc全部处于“Terminating”状态时,此时的该名称空间下的所有控制器都已经被删除了,之所以出现pod、pvc、pv、ns无法删除,那是因为kubelet 阻塞,有其他的资源在使用该namespace,比如CRD等,尝试重启kubelet,再删除该namespace 也不好使。

正确的删除方法:删除pod–> 删除pvc —> 删除pv --> 删除名称空间

一、强制删除pod

kubectl delete pod <your-pod-name> -n <name-space> --force --grace-period=0

解决方法:加参数 --force --grace-period=0,grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅退出,0表示立即终止pod

二、强制删除pv、pvc

kubectl patch pv xxx -p '{"metadata":{"finalizers":null}}'
kubectl patch pvc xxx -p '{"metadata":{"finalizers":null}}'

直接删除k8s etcd数据库中的记录!

三、强制删除ns

在尝试以下命令强制删除也不好使:

kubectl delete ns <terminating-namespace> --force --grace-period=0

解决方法:

1)运行以下命令以查看处于“Terminating”状态的namespace:

kubectl get namespaces

2)选择一个Terminating namespace,并查看namespace 中的finalizer。运行以下命令:

kubectl get namespace <terminating-namespace> -o yaml

3)导出json格式到文件

kubectl get namespace <terminating-namespace> -o json >tmp.json

4)编辑tmp.josn,删除finalizers 字段的值

{"apiVersion": "v1","kind": "Namespace","metadata": {"creationTimestamp": "2019-11-20T15:18:06Z","deletionTimestamp": "2020-01-16T02:50:02Z","name": "<terminating-namespace>","resourceVersion": "3249493","selfLink": "/api/v1/namespaces/knative-eventing","uid": "f300ea38-c8c2-4653-b432-b66103e412db"},"spec": {    #从此行开始删除"finalizers": []},   # 删到此行"status": {"phase": "Terminating"}
}

5)开启proxy

kubectl proxy

执行该命令后,当前终端会被卡住
6)打开新的一个窗口,执行以下命令

curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json http://127.0.0.1:8001/api/v1/namespaces/<terminating-namespace>/finalize

7)确认处于Terminating 状态的namespace已经被删除

kubectl get namespaces

如果还有处于Terminating 状态的namespace,重复以上操作,删除即可!

k8s强制删除pod、svc、namespace(Terminating)驱逐pod,coredns

k8s强制删除hang死状态pod

相关文章:

  • 伴游网站开发淘宝推广软件哪个好
  • 外贸网站是怎么做的seo优化策略
  • 唐山建设个网站关键词优化的策略有哪些
  • 建设网站那个好模板建站公司
  • 新版wordpress石家庄seo顾问
  • it运维有前途吗合肥seo报价
  • 人机交互动画制作新突破!文本驱动扩散框架HOIDiNi:一句话驱动虚拟人高精度操作物体。
  • GitHub Actions 的深度解析与概念介绍
  • Java8新特性_加强版
  • 采用ArcGIS10.8.2 进行插值图绘制
  • STM32MPU6050 dmp库
  • MyBatis-Plus:从入门到进阶
  • 如何将OBJ文件转成GLB文件
  • NVIDIA GPU架构学习笔记
  • 时序数据库IoTDB可实现的基本操作及命令汇总
  • Linux操作系统Nginx Web服务
  • 16、nrf52840蓝牙学习(唯一ID加密与解密)
  • VRRP:解决路由器单点故障的终极方案
  • wpa_supplicant连接到了路由,但是 udhcpc会分配到不同网段的ip,路由器ip为192.168.0网段,板子分配ip为192.168.1的网段
  • 2025.6.24总结
  • 数组题解——​合并区间【LeetCode】
  • Python 猜数字小游戏:Tkinter 实现的互动猜数挑战
  • json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig)
  • 【计算机组成原理01】:主存与Cache的地址映射
  • 【Docker基础】Docker容器管理:docker stop详解
  • 洛谷 删数的问题 贪心