Зависит от того, где находятся файлы. Если у вас есть их внутри репо, я бы использовал initContainer
для его клонирования.
Это может выглядеть так:
initContainers:
- name: git-clone-spark-volumes
image: alpine/git
args:
- clone
- --single-branch
- --branch=master
- --depth=1
- --
- https://github.com/your/repo.git
- /tmp/new-data
securityContext:
runAsUser: 0
volumeMounts:
- name: spark-volume
mountPath: /tmp/new-data
extraVolumes:
- name: spark-volume
emptyDir: {}
extraVolumeMounts:
- name: spark-volume
mountPath: /tmp/new-data
Это клонирует репо ( https://github.com/your/repo.git) в папку /tmp/new-data
, в которую смонтирован спарк-том.
Если ваши файлы основаны на key=value
, вы можете использовать ConfigMap
:
$ kubectl create configmap spark-volume --from-file=configure-pod-container/configmap/game.properties --from-file=configure-pod-container/configmap/ui.properties
Что можно использовать:
extraVolumes:
- name: spark-volume
configMap:
name: spark-volume
extraVolumeMounts:
- name: spark-volume
mountPath: /tmp/new-data
Это хорошо описано в Настройка модуля для использования ConfigMap .