有什么方法可以在持久卷声明中包含弹性卷?

Is there any way to have a Flex Volume inside a Persistent Volume Claim?

我目前正在为 Gitlab 使用 Kubernetes Executor CI,因为:

https://docs.gitlab.com/runner/executors/kubernetes.html:目前支持hostPath、PVC、configMap、secret volume类型。

我想知道是否有可能在 Kubernetes 中使用具有持久卷声明的 Flex 卷。

任何类型的 PV 都可以支持 PVC。您需要手动创建 PV,然后在 PVC 的 .spec.volumeName 中指定名称(或使用带标签的 .spec.selector)。像这样:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: task-pv-claim
spec:
  volumeName: task-pv-volume
  storageClassName: manual
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi

作为参考我使用了这个PV(但是PV的类型无关紧要):

kind: PersistentVolume
apiVersion: v1
metadata:
  name: task-pv-volume
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/tmp/data"

(或者,也可以使用您自己的存储类自动配置,但我想这不是您的用例。)

是的。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001 
spec:
  capacity:
    storage: 1Gi 
  accessModes:
    - ReadWriteOnce
  flexVolume:
    driver: openshift.com/foo 
    fsType: "ext4" 
    secretRef: foo-secret 
    readOnly: true 
    options: 
      fooServer: 192.168.0.1:1234
      fooVolumeName: bar

参考:https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_flex_volume.html