参考链接:
https://blog.csdn.net/mfanoffice2012/article/details/121585273

首先创建pvc需要先将对应的pv创建出来
vim nanchuan-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
    name: nas  #pv名,创建多个pv的时候名字不能一样,否则就是覆盖创建了
    namespace: nanchuan #命名空间,可加可不加
spec:
    capacity:
      storage: 1000Gi  #pv申请资源大小
    accessModes:
      - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain  #回收策略
    storageClassName: "nas-nanchuan-pv"  #sc的名字
    nfs:                    #nfs共享存储地址
      path: "/test/nfs-test"
      server: 192.168.24.24

例2:
apiVersion: v1
kind: PersistentVolume
metadata:
    name: nas-nanchuan-pro
    namespace: nanchuan-pro
spec:
    capacity:
      storage: 1000Gi
    accessModes:
      - ReadWriteMany
    persistentVolumeReclaimPolicy: Retain
    storageClassName: "nas-nanchuan-pro-pv"
    nfs:
      path: "/test/nfs-test"
      server: 192.168.24.24

补充:
PersistentVolume可以有各种回收策略,包括Retain、Recycle和Delete。对于动态供应的持久卷,默认的回收策略是Delete。这意味着当用户删除相应的PersistentVolumeClaim时,动态供应的卷将自动删除。
如果卷中包含宝贵的数据,这种自动行为可能不合适。在这种情况下,使用Retain策略更合适。使用Retain策略,如果用户删除PersistentVolumeClaim,则不会删除相应的PersistentVolume。
相反,它被移动到 Released阶段,在那里它的所有数据都可以手动恢复。

kubectl apply -f xxx.yaml
创建pvc

vim nanchuan-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nas  #pvc名字
  namespace: nanchuan  #命名空间,按实际需求填写
spec:
  accessModes:
    - ReadWriteMany  #权限
  resources:
    requests:
      storage: 1000Gi  #申请资源大小
  storageClassName: nas-nanchuan-pv  #此处必须和上面创建的pv的sc所对应


例2:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nas
  namespace: nanchuan-pro
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1000Gi
  storageClassName: nas-nanchuan-pro-pv

kubectl apply -f xxx.yaml

验证
kubectl get pvc -A|grep nas
kubectl get pv |grep nas
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐