K8S集群pvc状态为Terminating恢复

一、背景:

公司平台k8s集群,有人误删pvc,由于pod还在使用pvc,所以现在的状态为Terminating。

二、操作恢复:

1、首先调节pv的回收策略为Retain

     pv 的回收策略有三种分别是:
     Retain:PV的默认回收策略,删除pvc后,挂载卷的数据会保留。可以通过kubectl get pv看到
     Recycle:删除卷的内容并使卷可用于再次声明。通过这种方式,持久卷可以被不同的持久卷声明和pod反复使用。但是删除pv以后,挂载卷的数据会被删除掉。
     Delete:删除底层存储。

调节pv的回收策略为Retain,如果是Retain则省略此步:

kubectl edit pv PVNAME

K8S集群pvc状态为Terminating恢复

调节完成后如下图所示:
K8S集群pvc状态为Terminating恢复

2、停止相关pod,当pod停止后,相关pvc会删除;

当前pvc状态
K8S集群pvc状态为Terminating恢复

kubecctl delet pod my-pvpvc-pod

删除成功后,pvc一会也会随着删除

kubectl get pvc 

K8S集群pvc状态为Terminating恢复

3、修改pv,删除以前的绑定信息:

现在pv的状态为:
K8S集群pvc状态为Terminating恢复

kubectl edit pv 

找到红色方框里的内容,并删除,共7行
K8S集群pvc状态为Terminating恢复
删除完成后,保存退出,

4、重新创建pvc,并查看状态,启动pod,查看状态

kubectl apply -f test.yaml
kubectl get pvc 
kubectl get pv

K8S集群pvc状态为Terminating恢复

kubectl apply -f pod.yaml

K8S集群pvc状态为Terminating恢复
至此,pvc恢复完成。

上一篇:k8s问题【删除namespace一直处于Terminating状态】


下一篇:k8s pv无法删除问题