vlambda博客
学习文章列表

K8S中如何将已释放的PV回收为可用状态?

🚀创建PV时设置的回收策略(Reclaim Policy)为 Retain 时,PVC删除后,PV的状态变为 Released,新建的PVC将无法绑定该PV

⚡此时需要手动清除ClaimRef

kubectl edit pv xxx


编辑 需要回收的 PV ( Persistent Volumes ) 的 YAML 如下

...spec: accessModes: - ReadWriteOnce capacity: storage: 10Gi claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: redis-data-redis-node-0 namespace: default resourceVersion: "24344047835"    uid: 4152f2b7-c473-4975-b60c-6eaa8085b3a9 persistentVolumeReclaimPolicy: Retain storageClassName: xxx volumeMode: Filesystemstatus: phase: Released...


手动删除YAML中的 claimRef 项:

 claimRef: apiVersion: v1 kind: PersistentVolumeClaim name: redis-data-redis-node-0 namespace: default resourceVersion: "24344047835" uid: 4152f2b7-c473-4975-b60c-6eaa8085b3a9

✅保存生效后,查看其状态会变更为Available

🎉 该PV此时可重新被使用



Kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡。

在Kubernetes中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。