k8s pod,pvc,pv无法删除问题
注意步骤:
一般删除步骤为:先删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无法删除问题的更多相关文章
- 6.k8s.存储Volume.PV.PVC
#Volume Volume 解决数据持久化和容器间共享数据 Kubernetes支持几十种类型的后端存储卷 #hostPath挂载实例,挂载Node节点/tmp/test-volume目录到容器/t ...
- k8s入门之PV和PVC(八)
某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他 ...
- 2.k8s.Pod生命周期,健康检查
#Pod生命周期,健康检查 pod创建过程 Init容器 就绪探测 存活探测 生命周期钩子 #Pod创建过程 master节点:kubectl -> kube-api -> kubenle ...
- k8s pod故障分类与排查
一.Pod故障状态基本有几种Pod状态 处于PendingPod状态 处于WaitingPod状态 处于ContainerCreatingPod状态 ImagePullBackOffPod状态 Cra ...
- k8s pod的4种网络模式最佳实战(externalIPs )
[k8s]k8s pod的4种网络模式最佳实战(externalIPs ) hostPort相当于docker run -p 8081:8080,不用创建svc,因此端口只在容器运行的vm ...
- k8s pod节点调度及k8s资源优化
一.k8s pod 在节点间调度控制 k8s起pod时,会通过调度器scheduler选择某个节点完成调度,选择在某个节点上完成pod创建.当需要在指定pod运行在某个节点上时,可以通过以下几种方式: ...
- k8s中实现永久无法删除一个pod---也就是在deployment.yaml中定义副本数量
参照:https://www.cnblogs.com/effortsing/p/10486960.html 这里面的deployment.yaml对应的pod就是永久无法删除的
- kubectl cp 从k8s pod 中 拷贝 文件到本地
请查看官方的说明 kubectl cp --help 官方说使用cp , pod里需要有tar命令 从k8s pod 中 拷贝 文件到本地 这是我使用的命令 kubectl exec redis-6c ...
- k8s pv无法删除问题
一般删除步骤为:先删pod再删pvc最后删pv 但是遇到pv始终处于“Terminating”状态,而且delete不掉.如下图: 解决方法: 直接删除k8s中的记录: kubectl patch p ...
随机推荐
- Agri-Net —poj1258
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44670 Accepted: 18268 Descri ...
- 认识setFactory
平常设置或者获取一个View时,用的较多的是setContentView或LayoutInflater#inflate,setContentView内部也是通过调用LayoutInflater#inf ...
- Ubuntu安装 docker
安装docker首先要需要一台宿主机, 我目前用VMvare下安装的Ubuntu16.04系统为宿主机,进行docker安装测试. ubuntu安装时选的中文环境,生成的sources.list里面的 ...
- Oracle 简单统计示例
有数据如下: eg1:现在需要统计所有男性人员数量,所有女性人员数量,sclassno=10000的男性人员的总年龄,年龄大于20的女性人员数量 ----sign( number )/*If numb ...
- 用Python实现一个大数据搜索引擎
用Python实现一个大数据搜索引擎 搜索是大数据领域里常见的需求.Splunk和ELK分别是该领域在非开源和开源领域里的领导者.本文利用很少的Python代码实现了一个基本的数据搜索功能,试图让大家 ...
- ssd存储的SLC、MLC、TLC闪存芯片颗粒有什么区别?
SLC = Single-Level Cell ,即1bit/cell,速度快寿命长,价格贵(约MLC 3倍以上的价格),约10万次擦写寿命: MLC = Multi-Level Cell,即2bit ...
- mongodb写入策略(WriteConcern)
写入策略(WriteConcern) mongodb的写入策略有多种方式,写入策略是指当客户端发起写入请求后,数据库什么时候给应答,mongodb有三种处理策略:客户端发出去的时候,服务器收到请求的时 ...
- laravel 中url使用
url() 通过url辅助函数(路由)生成:location.href = "{{url('user/index')}}"; 或者:location.href = "{{ ...
- ---搭建springMvc框架,希望对初学者有所参考
Spring Mvc ==> Struts2 spring 无法替代 myBatis 工作量大 要自己操作sql语句 ==> hibernate Spring Mvc 取代St ...
- while语句基本练习(求和思想,统计思想)
A:循环结构while语句的格式: 初始化语句; while(判断条件语句) { 循环体语句; 控制条件语句; } B:执行流程: a:执行初始化语句 b:执行判断条件语句,看其返回值是true还是f ...