我想要在一个节点上使用单个挂载点(即),并为每个要在我的集群中使用的/data
子文件夹设置不同的子文件夹。PersistentVolumeClaim
目前我有多个StorageClass
每个PersistentVolume
子文件夹,例如:
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: prometheus
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: prometheus
labels:
type: local
spec:
storageClassName: prometheus
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
local:
path: "/data/prometheus"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: disk
operator: In
values:
- local
你可以想象StorageClass
,PersistentVolume
每个都有一个PersistentVolumeClaim
,看起来有点小题大做。
我尝试使用单个StorageClass
和PersistentVolume
(仅指向 /data
),usePath
选项(即prometheus
)和多个PersistentVolumeClaim
。但我注意到,如果securityContext.fsGroupChangePolicy
启用该选项,它将把用户/组更改应用于卷的根目录(即/data
),而不是subPath
(即/data/prometheus
)。
有没有更好的解决办法?
谢谢
答案1
本地路径提供者似乎是一个很好的解决方案