【发布时间】:2019-11-25 21:20:35
【问题描述】:
我在裸机上有一个 Kubernetes 集群。
我需要一个仅限于特定命名空间的 CIFS 动态 PV 供应商。我只希望有权访问 namespace_a 的用户/pod 能够存储在 CIFS shared_a 上配置的 PV 上。
是否有任何现有的解决方案可用?
任何替代方案可以让我动态配置由 samba nas 共享支持的 PV,同时保持命名空间隔离?
谢谢
【问题讨论】:
标签: kubernetes cifs
我在裸机上有一个 Kubernetes 集群。
我需要一个仅限于特定命名空间的 CIFS 动态 PV 供应商。我只希望有权访问 namespace_a 的用户/pod 能够存储在 CIFS shared_a 上配置的 PV 上。
是否有任何现有的解决方案可用?
任何替代方案可以让我动态配置由 samba nas 共享支持的 PV,同时保持命名空间隔离?
谢谢
【问题讨论】:
标签: kubernetes cifs
根据设计,PersistentVolume 不是 namespaced objects,但 PersistentVolumeClaim 是。
要实现命名空间和持久卷之间的隔离,您可以bind PV to PVC. 这是一对一的映射,它将卷“保留”到特定的 PVC。
您必须在 PersistentVolume 的 spec 字段中指定 claimRef:
ClaimRef 是 PersistentVolume 之间双向绑定的一部分 和 PersistentVolumeClaim。 绑定时预计为非零。 claim.VolumeName 是 PV 和 PVC 之间的权威绑定。
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv1
[...]
spec:
[...]
claimRef:
name: claim
namespace: default
在 PVC 中:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: claim
spec:
[...]
volumeName: pv1
【讨论】: