226 字
1 分钟
k8s 存储:PV 与 PVC
k8s 存储:PV 与 PVC
在 Docker 的容器中,使用 volumes 作为存储,但是它仅仅只是本地存储系统中的一个目录,且没有生命周期的管理。
在 k8s 中通过使用 PV 及 PVC 来对 volume 做进一步抽象。
PV
PV 是 k8s 集群中提供存储能力的资源,类似于 node。由运维人员 (administrator) 调配,也可以通过 storage class 来自动调配。通常可以由 nfs 等云存储资源提供实现
apiVersion: v1kind: PersistentVolumemetadata: name: local-redis-pv labels: type: localspec: storageClassName: local-storage capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/k8s-data/redis"PVC
PVC 由用户请求 PV 指定大小资源及模式 (ReadWriteOnce 或),如同 pod 向 node 请求 cpu/memory 资源。
Hostpath
- 指定当前 Host 下的磁盘
- 没法自动调配,每次需要手动申明 PV,并指定 storageClassName
- 每一个 PV 只能够关联一个 PVC
- 当pod退出之后,pv/pvc 的清理也挺头疼