注意步骤:

一般删除步骤为:先删pod再删pvc最后删pv

但是遇到pv始终处于“Terminating”状态,而且delete不掉

pod一直删不掉

[root@hadoop01 nacos-k8s]# kubectl get pod
NAME READY STATUS RESTARTS AGE
busybox-deployment-8588b74c4b-4rc24 / Terminating 45h
metrics-app-v1-5cdbf6d7f4-8pqxj / Running 24d
metrics-app-v1-5cdbf6d7f4-fcngn / Running 24d //加上--force
[root@hadoop01 nacos-k8s]# kubectl delete pod busybox-deployment-8588b74c4b-4rc24 --force
warning: --force is ignored because --grace-period is not .
pod "busybox-deployment-8588b74c4b-4rc24" deleted
//依然无法删除
[root@hadoop01 nacos-k8s]# kubectl get pod
NAME READY STATUS RESTARTS AGE
busybox-deployment-8588b74c4b-4rc24 / Terminating 45h
metrics-app-v1-5cdbf6d7f4-8pqxj / Running 24d
metrics-app-v1-5cdbf6d7f4-fcngn / Running 24d
//加上--grace-period=0成功删除
[root@hadoop01 nacos-k8s]# kubectl delete pod busybox-deployment-8588b74c4b-4rc24 --force --grace-period=
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "busybox-deployment-8588b74c4b-4rc24" force deleted

查看pvc被哪个pod使用

[root@hadoop03 storageclass]# kubectl describe pvc nfs-pvc | grep Mounted
Mounted By: busybox-deployment-8588b74c4b-vw8jd

pv pvc删不掉

解决方法:

直接删除k8s中的记录:

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

参考信息:

This happens when persistent volume is protected. You should be able to cross verify this:

Command:

kubectl describe pvc PVC_NAME | grep Finalizers

Output:

Finalizers: [kubernetes.io/pvc-protection]

You can fix this by setting finalizers to null using kubectl patch:

kubectl patch pvc PVC_NAME -p '{"metadata":{"finalizers": []}}' --type=merge

实例操作:

[root@test-dev-master01 ~]# kubectl patch pvc test-es01  -p '{"metadata":{"finalizers":null}}' -n xitu-test
persistentvolumeclaim/test-es01 patched [root@test-dev-master01 ~]# kubectl patch pvc datadir-zookeeper-zookeeper- -p '{"metadata":{"finalizers":null}}' -n xitu-test
persistentvolumeclaim/datadir-zookeeper-zookeeper- patched [root@test-dev-master01 ~]# kubectl patch pv d-bp1flc3jh6rcc0le0x7y -p '{"metadata":{"finalizers":null}}' -n xitu-test
persistentvolume/d-bp1flc3jh6rcc0le0x7y patched

注意:

pv 状态要处于Available才可以重新被同名的pvc使用或者被删除

//处于Released状态一直删除不掉
[root@hadoop03 storageclass]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-b57b8918-b35f-4ab9-ad1f-56443f1dcabb 10Mi RWX Delete Released default/nfs-pvc nfs-storageclass 45h [root@hadoop03 storageclass]# kubectl edit pv pvc-b57b8918-b35f-4ab9-ad1f-56443f1dcabb
//删除这一段
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: nfs-pvc //关联此pvc因此处于Released
namespace: default
resourceVersion: ""
uid: b57b8918-b35f-4ab9-ad1f-56443f1dcabb
[root@hadoop03 storageclass]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-b57b8918-b35f-4ab9-ad1f-56443f1dcabb 10Mi RWX Delete Available nfs-storageclass 46h
//此时就可以删除了
[root@hadoop03 storageclass]# kubectl delete pv pvc-b57b8918-b35f-4ab9-ad1f-56443f1dcabb
persistentvolume "pvc-b57b8918-b35f-4ab9-ad1f-56443f1dcabb" deleted
[root@hadoop03 storageclass]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE

https://kubernetes.io/docs/concepts/storage/persistent-volumes/

k8s pod,pvc,pv无法删除问题的更多相关文章

  1. 6.k8s.存储Volume.PV.PVC

    #Volume Volume 解决数据持久化和容器间共享数据 Kubernetes支持几十种类型的后端存储卷 #hostPath挂载实例,挂载Node节点/tmp/test-volume目录到容器/t ...

  2. k8s入门之PV和PVC(八)

    某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他 ...

  3. 2.k8s.Pod生命周期,健康检查

    #Pod生命周期,健康检查 pod创建过程 Init容器 就绪探测 存活探测 生命周期钩子 #Pod创建过程 master节点:kubectl -> kube-api -> kubenle ...

  4. k8s pod故障分类与排查

    一.Pod故障状态基本有几种Pod状态 处于PendingPod状态 处于WaitingPod状态 处于ContainerCreatingPod状态 ImagePullBackOffPod状态 Cra ...

  5. k8s pod的4种网络模式最佳实战(externalIPs )

    [k8s]k8s pod的4种网络模式最佳实战(externalIPs )       hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...

  6. k8s pod节点调度及k8s资源优化

    一.k8s pod 在节点间调度控制 k8s起pod时,会通过调度器scheduler选择某个节点完成调度,选择在某个节点上完成pod创建.当需要在指定pod运行在某个节点上时,可以通过以下几种方式: ...

  7. k8s中实现永久无法删除一个pod---也就是在deployment.yaml中定义副本数量

    参照:https://www.cnblogs.com/effortsing/p/10486960.html 这里面的deployment.yaml对应的pod就是永久无法删除的

  8. kubectl cp 从k8s pod 中 拷贝 文件到本地

    请查看官方的说明 kubectl cp --help 官方说使用cp , pod里需要有tar命令 从k8s pod 中 拷贝 文件到本地 这是我使用的命令 kubectl exec redis-6c ...

  9. k8s pv无法删除问题

    一般删除步骤为:先删pod再删pvc最后删pv 但是遇到pv始终处于“Terminating”状态,而且delete不掉.如下图: 解决方法: 直接删除k8s中的记录: kubectl patch p ...

随机推荐

  1. HDU 6073 Matching In Multiplication —— 2017 Multi-University Training 4

    Matching In Multiplication Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 524288/524288 K ( ...

  2. Docker(应用服务引擎)

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  3. Autoresize UIView to fit subviews

    @interface UIView (resizeToFit) -(void)resizeToFitSubviews; -(void)resizeHightToFitSubviews; -(void) ...

  4. 重写ArcGIS的TiledMapServiceLayer调用天地图瓦片

    require(["esri/layers/TiledMapServiceLayer"], function () { dojo.declare("com.StrongI ...

  5. Openstack API 类型 & REST 风格

    目录 目录 Openstack 提供了三种操作方式 Web界面 CIL 指令行 RESTful API REST 风格 RESTFul风格的API设计 基于HTTP协议的RESTful API Ope ...

  6. VMWARE ESXI 虚拟硬盘的格式:精简置备、厚置备延迟置零、厚置备置零

    精简置备(thin): 精 简配置就是无论磁盘分配多大,实际占用存储大小是现在使用的大小,即用多少算多少.当客户机有输入输出的时候,VMkernel首先分配需要的空间并进行 清零操作,也就是说如果使用 ...

  7. VB - 循环

    循环控制语句有for……next循环.for……each循环.do……while循环.do……until循环.while循环五种形式. 1. 在使用循环控制语句前,首先要对循环条件进行判断,如果循环次 ...

  8. 用其他音乐源帮帮网易云,Windows听歌利器

    镜像文章 1.用其他音乐源帮帮网易云,Ubuntu听歌利器 2.用其他音乐源帮帮网易云,Android听歌利器 只剩下Windows端了,一并送上. 1.Windows懒人版 1.1第一种懒人方法 下 ...

  9. 在Emacs中使用plantuml画UML图

    在Emacs中使用plantuml画UML图 */--> code {color: #FF0000} pre.src {background-color: #002b36; color: #83 ...

  10. 【数据驱动】python之mysql的操作

    1.准备工作 在本篇中,我们使用python版本为python3.7.在python3中,连接mysql数据库我们需要使用pymysql这个第三方库.我们可以直接使用pip命令来安装,安装的命令为: ...