pv java_pv-pvc 回收机制简单探究

本文简要探讨了Kubernetes中的PersistentVolume (PV) 和 PersistentVolumeClaim (PVC) 的回收机制。通过创建PV和PVC的示例,展示了在采用Retain策略时,删除PVC会使PV进入Released状态,需要管理员手动回收。此外,还介绍了不同访问模式和回收策略,如ReadWriteMany、Delete、Recycle和Retain。
摘要由CSDN通过智能技术生成

pv pvc 回收机制简单探究

cat nfs-pv.yaml

#######################################################

apiVersion: v1

kind: PersistentVolume

metadata:

name: pv-nfs-pv02 #创建的pv名称可创建多个.

namespace: mt-math #属于的命名空间

spec:

capacity:

storage: 1Gi #创建的pv容量为1G

accessModes:

- ReadWriteMany #pv的访问模式:可读可写可挂在多个节点

persistentVolumeReclaimPolicy: Retain #回收策略

storageClassName: pv-nfs-pv02

nfs: #创建的pv数据来源

path: /NFS/pv02 #数据源目录

server: 192.168.0.14 #数据源ip

####################################################

---

apiVersion: v1

kind: PersistentVolume

metadata:

name: pv-nfs-pv03 #创建的pv名称可创建多个.

namespace: mt-math #属于的命名空间

spec:

capacity:

storage: 1Gi #创建的pv容量为1G

accessModes:

- ReadWriteMany #pv的访问模式:可读可写可挂在多个节点

persistentVolumeReclaimPolicy: Retain #回收策略

storageClassName: pv-nfs-pv03

nfs: #创建的pv数据来源

path: /NFS/pv03 #数据源目录

server: 192.168.0.14 #数据源ip

创建pv并查看状态

kubectl create -f nfs-pv.yaml

kubectl get pv

pv 采用的Retain 回收模式 第一次创建状态处于Available 可用状态。

f13b286864f69ab14eafd989e0ced37c.png

创建pvc文件

cat nfs-pvc.yaml

#######################################pvc################################

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: pvc-nfs-03 #创建的pvc名称

namespace: mt-math #属于的命名空间

spec:

accessModes:

- ReadWriteMany #请求访问的权限

resources:

requests:

storage: 1Gi #请求容量为1G

storageClassName: pv-nfs-pv03

#创建pv的时候如果指定了标签.那么可在pvc中指定标签进行一一对应.这里其实采用的是storageClassName进行名称绑定的.(在容量和权限一致的情况下)

---

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: pvc-nfs-02 #创建的pvc名称

namespace: mt-math #属于的命名空间

spec:

accessModes:

- ReadWriteMany #请求访问的权限

resources:

requests:

storage: 1Gi #请求容量为1G

storageClassName: pv-nfs-pv02

运行并查看pv,pvc状态变化

kubectl create -f nfs-pvc.yaml

kubectl get pvc -n mt-math

kubectl get pv

pvc 成功绑定pv 后 pvc状态为:Bound状态,pv由原来的Available 状态变为Bound状态

a981c81d5aff44d8ab0ced88dce43111.png

测试回收机制:删除pvc后状态后 pv由Bound状态Released状态,此状态下并不能别pvc请求绑定,只有在Available状态下才可被pvc绑定

a99ad1a3db48c0880713e87ba0442646.png

管理员手动回收:删除pv并重新创建pv

0539ccf2ce03f7176045957cc5783512.png

重建pv 发现pv有重新回到Available可用状态。创建pvc重新回到Bound状态

1dae9c530c87d8b13eab5eb4843c7fe3.png

ed7d3f3c93d3f119209c68780ee4ca4a.png

总结:

1.pv独立于pod存在

2.pv可以创建动态pv或者静态pv。动态pv不需要手动去创建。静态pv需要手动创建

3.访问模式:ReadWriteOnce:可读可写只能mount到一个节点. ReadOnlyMany:PV能模式挂载到多个节点

4.回收规则:PV 支持的回收策略有: Retain. Recycle.delete

Retain 管理员回收:kubectl delete pv pv-name 创建:kubectl apply -f pv-name.yaml ;Retain策略 在删除pvc后PV变为Released不可用状态, 若想重新被使用,需要管理员删除pv,重新创建pv,删除pv并不会删除存储的资源,只是删除pv对象而已;若想保留数据,请使用该Retain,

Recycle策略 – 删除pvc自动清除PV中的数据,效果相当于执行 rm -rf /thevolume/*. 删除pvc时.pv的状态由Bound变为Available.此时可重新被pvc申请绑定

Delete – 删除存储上的对应存储资源,例如 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等,NFS不支持delete策略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值