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"
4152f2b7-c473-4975-b60c-6eaa8085b3a9 :
persistentVolumeReclaimPolicy: Retain
storageClassName: xxx
volumeMode: Filesystem
status:
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中,我们可以创建多个容器,每个容器里面运行一个应用实例,然后通过内置的负载均衡策略,实现对这一组应用实例的管理、发现、访问,而这些细节都不需要运维人员去进行复杂的手工配置和处理。