Kubernetes - Как использовать файлы из каталога в модуле? - PullRequest
0 голосов
/ 11 мая 2018

У меня есть образ / контейнер компоновщика, который должен запускать тесты в каталоге с источниками тестов.

Контейнер запускается в модуле Kubernetes в AWS EKS через helm test.Т.е. не docker, поэтому я не могу просто использовать -v том для монтирования.

Я изо всех сил пытаюсь найти правильный путь для переноса этого каталога в контейнер простым способом.Это шаблон Helm у меня есть.Все работы, кроме тома.

apiVersion: v1
kind: Pod
metadata:
  name: "{{ .Release.Name }}-gatling-test"
  annotations:
    "helm.sh/hook": test-success
spec:
  restartPolicy: Never
  containers:
  - name: {{ .Release.Name }}-gatling-test
    image: {{ .Values.builderImage }}
    command: ["sh", "-c", 'mvn -B gatling:test -pl csa-testing -DCSA_SERVER={{ template "project.fullname" . }} -DCSA_PORT={{ .Values.service.appPort }}']
    ## TODO: The builder image also counts with having /tmp/build, so it needs a mount: -v '${job.WORKDIR}:/tmp/build'
    volumeMounts:
    - name: mavenRepoToBuild
      mountPath: /tmp/build
    volumes:
    - name: mavenRepoToBuild
      hostPath:
        path: {{.Values.fromJenkins.WORKDIR}}

Я читал в нескольких местах, что это нельзя сделать напрямую.Так какой же простой способ сделать это косвенно?Zip и загрузить на S3 и скачать?Или добавить его к изображению в качестве слоя?Или я должен создать ресурс тома Kubernetes?

1 Ответ

0 голосов
/ 12 мая 2018

Каталог или файл hostPath должен существовать на всех узлах кластера.

Вы можете прикрепить некоторые типы к hostPath, чтобы определить, являются ли его файлы или каталоги.

Список типов, которые вы можете использовать в hostpath, можно найти в документации kubernetes.

https://kubernetes.io/docs/concepts/storage/volumes/

Кстати, какую ошибку вы получаете? Доступ запрещен? Вы можете сделать helm всухую, чтобы увидеть обработанный шаблон.

...