在Kubernetes集群中,持久卷(Persistent Volume, PV)和持久卷请求(Persistent Volume Claim, PVC)是实现数据持久化的重要组件。PV为一个或多个Pod提供存储空间,并且与Pod的生命周期无关,即使Pod被重新调度或删除,PV中的数据也会保持不变。这对于需要长期存储数据的应用(如数据库或数据分析工具)至关重要。
持久卷的关键特性包括:
创建持久卷的示例配置如下:
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
nfs:
path: /path/to/nfs
server: nfs-server.example.com
storageClassName: manual
accessModes:
- ReadWriteMany
持久卷请求(PVC)是Kubernetes对象,代表对存储的请求。它类似于用户或应用程序向存储管理员提交的票据,指定所需的存储量、访问方式(只读、读写等)以及首选的存储类型(例如,SSD、HDD)。可以将其视为应用程序与底层存储系统之间的合同。PVC定义了应用程序的存储需求,Kubernetes负责将PVC与满足指定要求的可用持久卷(PV)匹配。
持久卷请求的关键特性包括:
创建持久卷请求的示例配置如下:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: manual
使用持久卷和持久卷请求的步骤如下: