k8s pod,ns,pvc 强制删除

这篇具有很好参考价值的文章主要介绍了k8s pod,ns,pvc 强制删除。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、强制删除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 getnamespace <terminating-namespace> -o yaml

输出信息如下:

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:

- kubernetes

status:

3)导出json格式到文件

$ kubectl getnamespace <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输出信息如下:

{

"kind": "Namespace",

"apiVersion": "v1",

"metadata": {

"name": "istio-system",

"selfLink": "/api/v1/namespaces/istio-system/finalize",

"uid": "2e274537-727f-4a8f-ae8c-397473ed619a",

"resourceVersion": "3249492",

"creationTimestamp": "2019-11-20T15:18:06Z",

"deletionTimestamp": "2020-01-16T02:50:02Z"

},

"spec": {

},

"status": {

"phase": "Terminating"

}

}

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

$ kubectl get namespaces

如果还有处于Terminating 状态的namespace,重复以上操作,删除即可!文章来源地址https://www.toymoban.com/news/detail-418376.html

到了这里,关于k8s pod,ns,pvc 强制删除的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 强制删除k8s命名空间

    背景 删除ns时,有时候会一直卡在terminating的状态,无法删除,此时会引发一些问题,所以试了两种方法,记录下来 假定ns名称为test 方法一 通过强制删除,并且设置优雅删除时间为0(默认为30s) $ kubectl delete ns test --force --grace-period=0 方法一之后还是无法删除,请使用方法二

    2024年02月04日
    浏览(40)
  • k8s中强制删除pv

    K8s 集群内有一个已经不再使用的 PV,虽然已经删除了与其关联的 Pod 及 PVC,并对其执行了删除命令,但仍无法正常删除,一直处于 Terminating 状态:  解决办法: 1. 获取pv信息  2. 解除pv锁定  3. 解除pvc锁定 4. 【如果还没删掉】删除PV 5. 【如果还没删掉】删除PVC

    2024年02月15日
    浏览(56)
  • 【云原生-k8s】kubectl top pod 报错:error: Metrics API not available

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!

    2023年04月09日
    浏览(47)
  • k8s 启动和删除pod

    流程图 运维人员向kube-apiserver发出指令(我想干什么,我期望事情是什么状态) api响应命令,通过一系列认证授权,把pod数据存储到etcd,创建deployment资源并初始化。(期望状态) controller通过list-watch机制,监听api server读取etcd,发现新的deployment,将该资源加入到内部工作队列,发现该

    2024年02月10日
    浏览(53)
  • k8s强制删除处于Terminating状态的namespace

    一、问题背景         按照kubord官方文档安装删除Kuboard之后,再重新执行kubectl apply时,出现Error from server (Forbidden): error when creating \\\"https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml\\\": configmaps \\\"kuboard-v3-config\\\" is forbidden: unable to create new content in namespace kuboard because it is being terminated报错

    2024年02月05日
    浏览(44)
  • k8s删除pod或deployment

    deployment: pod: 删除pod: 可是,此时你会发现刚刚删除的pod开始重构。那是因为pod的上级deployment仍然存在,k8s会启动容灾机智,再拉一个新pod。 想要彻底删除pod,直接干掉它上层的deployment就可以 删除deployment: 干掉deployment,里面的pod自然就被一起删除了

    2024年02月11日
    浏览(51)
  • k8s中如何正确删除pod

    --- ♦ 在日常的k8s运维过程中,避免不了会对某些pod进行剔除,那么如何才能正确的剔除不需要的pod呢? 首先,需要查出想要删除的pod kubectl 删除pod命令 可是这里你会发现,在进行删除delete pod后,并不会直接删除。该pod会自动重新构建(可以理解为重启、重构),原因是k

    2023年04月27日
    浏览(42)
  • k8s通过命令批量删除pod

    k8s批量删除失败的pod 查看所有的pod 选择STATUS列,查看某namespace的非Running的记录,比如: 解析: 获取所有的pods及其状态 筛选出命名空间kube-system的记录,默认视default grep选出带有Evicted字段pod 通过awk,获取第一列信息,也就是NAME 使用xargs指令,循环删除失败的pod

    2024年02月11日
    浏览(47)
  • K8S系列:删除pod的4种方法

    #Kubernetes向进程发送一个SIGTERM信号并等待一定的秒数(默认为30),使其正常关闭。如果它没有及时关闭,则通过SIGKILL终止该进程。因此,为了确保你的进程总是正常关闭,进程需要正确处理SIGTERM信号。   kubectl delete pod pod_name   kubectl delete pod -l nio4444=true   #删除整个命名空

    2024年02月08日
    浏览(72)
  • K8S第四讲 Kubernetes删除pod阻塞问题

    在Kubernetes中,当您尝试删除一个Pod时,可能会遇到Pod一直阻塞的情况。这通常是由于Pod正在运行或被其他资源(例如ReplicaSet或Deployment)控制而导致的。以下是一些可能的解决方案: 1: 确认Pod是否正在运行:在执行删除Pod命令之前,请先检查Pod的状态,确保它没有在运行中

    2024年02月05日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包