在openshift中,PV可以在所有项目中使用,如果你能看到它,你可以声称它。
有没有办法限制PV仅适用于某些应用/项目?对于其他人,他们被禁止使用它。
似乎StorageClass不符合此要求。
祝你好运
兰
答案 0 :(得分:3)
您可以预先绑定卷并声明[1]:
您可能还希望群集管理员仅为您的声明“保留”该卷,以便其他人的声明可以在您的声明之前绑定到该声明。在这种情况下,管理员可以使用claimRef字段指定PV中的PVC。 PV只能绑定到claimRef中指定的具有相同名称和命名空间的PVC。尽管标签选择器被忽略,但仍必须满足PVC的访问模式和资源请求才能绑定PV和PVC。
如果您确切知道要将PersistentVolumeClaim绑定到的PersistentVolume,可以使用volumeName字段指定PVC中的PV。此方法会跳过正常的匹配和绑定过程。 PVC只能绑定到volumeName中指定的同名PV。如果具有该名称的PV存在并且可用,则无论PV是否满足PVC的标签选择器,访问模式和资源请求,PV和PVC都将被绑定。
PersistentVolume示例:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
nfs:
path: /tmp
server: 172.17.0.2
persistentVolumeReclaimPolicy: Recycle
claimRef:
name: claim1
namespace: default
PersistentVolumeClaim示例:
apiVersion: "v1"
kind: "PersistentVolumeClaim"
metadata:
name: "claim1"
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "1Gi"
volumeName: "pv0001"