PV的状态示例

2023-05-03 10:50:57 浏览数 (1)

创建一个存储后端:

首先,需要创建一个存储后端来存储数据。这里以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

0 人点赞