持久卷声明与 subPath

持久卷声明与 subPath

我想要在一个节点上使用单个挂载点(即),并为每个要在我的集群中使用的/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

你可以想象StorageClassPersistentVolume每个都有一个PersistentVolumeClaim,看起来有点小题大做。

我尝试使用单个StorageClassPersistentVolume(仅指向 /data),usePath选项(即prometheus)和多个PersistentVolumeClaim。但我注意到,如果securityContext.fsGroupChangePolicy启用该选项,它将把用户/组更改应用于卷的根目录(即/data),而不是subPath(即/data/prometheus)。

有没有更好的解决办法?

谢谢

答案1

本地路径提供者似乎是一个很好的解决方案

相关内容