k8s 如何关联pvc到特定的pv

1,108 阅读1分钟

创建pv并指定label


apiVersion: v1
# PV是全局概念,不用设置namespace
kind: PersistentVolume
metadata:
  name: nfs-pv
  labels:
    #指定label
    pv: nfs-pv 
spec:
  capacity:
    storage: 100Mi
  accessModes:
    - ReadWriteMany
  nfs:
    server: 10.192.10.1
    path: "/nfs/data/test"

accessModes属性介绍:

  • (RWO) ReadWriteOnce 可被一个节点读写挂载
  • (ROX) ReadOnlyMany 可被多个节点只读挂载
  • (RWX) ReadWriteMany 可被多个节点读写挂载

然后创建 pvc

使用 matchLabel 来关联刚创建的 pv:nfs-pv:


apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  # 这个如果不写就会绑定到默认的storageClass
  storageClassName: ""  
  resources:
    requests:
      storage: 90Mi
  selector:
    matchLabels:
      pv: nfs-pv

这样即可通过 matchLabel的方式将PVC和PV进行绑定