关于K8S各资源Terminating状态如何快速删除,亲测有效!!!

namespace 命名空间 status 状态 Terminating 快速删除:

1、查看namespace列表

[root@master ~]# kubectl  get ns
NAME                              STATUS        AGE
argocd                            Active        69m
... other namespace
kubesphere-system                 Terminating   4h29m
可以看到namespace命名空间名字为kubesphere-system资源正在消亡结束一直无法结束。
 2、我们运行命令快速结束:
[root@master ~]# kubectl edit ns kubesphere-system
... other setting
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2024-08-08T14:51:38Z"
  finalizers:
  - finalizers.kubesphere.io/namespaces # ---- 删除此行快速结束 ----
  labels:
    kubernetes.io/metadata.name: default
  ... other setting

删除 metadata.finalizers下内容保存即可,快捷键dd删除,按下Esc 输入 wq! 按下 Enter键保存即可 ,此时yaml代码为:

[root@master ~]# kubectl edit ns kubesphere-system
... other setting
apiVersion: v1
kind: Namespace
metadata:
  creationTimestamp: "2024-08-08T14:51:38Z"
  finalizers:
  labels:
    kubernetes.io/metadata.name: default
  ... other setting

pod status 状态 Terminating 快速删除:

1、查看ns下pod列表
[root@master ~]# kubectl get pods -n calico-system
NAME                                       READY   STATUS    RESTARTS         AGE
calico-kube-controllers-58949c48c7-gx949   0/1     Terminating   5 (5h16m ago)    2d
calico-node-f4fpd                          1/1     Running   2 (6h25m ago)    47h

可以看到pod名字为calico-kube-controllers-58949c48c7-gx949资源正在消亡结束一直无法结束。

 2、我们运行命令快速结束:
[root@master ~]# kubectl delete pods calico-kube-controllers-58949c48c7-gx949 --grace-period=0 --force -n calico-system

这样就会快速结束...下面参考网友的解决办法还有脚本快速执行多个:

参考:K8S容器持续Terminating无法正常关闭(sider-car容器异常,微服务容器正常)_k3s容器一直无法销毁容器terminating的原因-CSDN博客
 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Kubernetes 集群中删除所有处于 Terminating 状态Pod,可以使用以下命令: ``` kubectl delete pod --field-selector=status.phase=Terminating ``` 请注意,这将删除所有处于 Terminating 状态Pod,并且无法撤消。因此,应谨慎使用此命令。 ### 回答2: KubernetesK8s)是一种用于自动化部署、扩展和管理容器化应用程序的开源平台。要删除所有处于Terminating(终止)状态Pod,可以使用以下语句: ``` kubectl get pods --field-selector=status.phase=Terminating -o json | kubectl delete -f - ``` 该语句使用了kubectl命令,并结合了一些参数和标志来执行特定的操作。 - `kubectl get pods`:获取当前集群中的所有Pod。 - `--field-selector=status.phase=Terminating`:使用字段过滤器,仅返回状态TerminatingPod。 - `-o json`:输出格式为JSON,以便用于后续的操作。 - `|`:管道命令符,将前一个命令的输出作为后一个命令的输入。 - `kubectl delete -f -`:从标准输入中读取JSON文件,并根据其内容删除对应的资源。 这样,执行该语句后,Kubernetes将会删除所有处于Terminating状态Pod。 需要注意的是,使用该语句删除Pod时,确保你有足够的权限执行操作,并且在执行前仔细确认一次,以免误删除正在使用或重要的Pod。同时,建议根据具体情况调整语句,以确保只删除目标Pod。 ### 回答3: 要删除所有Terminating状态pod,可以使用以下命令: kubectl delete pod --all --grace-period=0 --force 这个命令中的参数含义如下: - "kubectl delete pod":删除pod的命令 - "--all":指定要删除所有的pod - "--grace-period=0":设置pod的终止期为0,即立即终止 - "--force":强制删除pod,即使pod处于Terminating状态 通过使用这个命令,所有处于Terminating状态pod都会被立即删除,不会等待额外的终止期。 需要注意的是,执行此命令可能会导致数据丢失或应用程序中断,因此在执行之前请谨慎确认。另外,删除操作是不可逆的,无法恢复被删除pod,所以请确保操作的可行性和必要性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值