我目前正在为 Gitlab CI 使用 Kubernetes Executor,因为:
https://docs.gitlab.com/runner/executors/kubernetes.html:“此时支持hostPath、PVC、configMap、secret卷类型”。
我想知道是否有可能在 Kubernetes 中拥有一个具有持久卷声明的弹性卷。
我目前正在为 Gitlab CI 使用 Kubernetes Executor,因为:
https://docs.gitlab.com/runner/executors/kubernetes.html:“此时支持hostPath、PVC、configMap、secret卷类型”。
我想知道是否有可能在 Kubernetes 中拥有一个具有持久卷声明的弹性卷。
是的。
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
任何类型的 PV 都可以支持 PVC。您需要手动创建 PV,然后指定.spec.volumeName
PVC 的名称(或.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"
(或者,也可以使用您自己的存储类进行自动配置,但我想这不是您的用例。)