创建一个存储后端:
首先,需要创建一个存储后端来存储数据。这里以NFS为例,使用nfs-server-provisioner插件创建一个动态NFS存储类。
代码语言:javascript复制apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: nfs
创建一个PVC:
接下来,创建一个PVC,该PVC请求1GB的存储空间,并使用上面创建的nfs存储类。
代码语言:javascript复制apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs
创建一个PV:
然后,创建一个PV,它与NFS服务器上的一个目录相对应,并具有1GB的存储容量。
代码语言:javascript复制apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: <nfs-server-ip>
path: /exports/my-pv
将PVC绑定到PV:
将PVC绑定到上面创建的PV上:
代码语言:javascript复制apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs
volumeName: my-pv
使用PVC:
最后,可以将上面创建的PVC挂载到一个Pod中,以使用PV中的存储。
代码语言:javascript复制apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx
volumeMounts:
- name: my-volume
mountPath: /data
volumes:
- name: my-volume
persistentVolumeClaim:
claimName: my-pvc