Обмен данными между локальным контейнером и контейнером Docker в Kubernetes - PullRequest
0 голосов
/ 03 августа 2020

Мне удалось успешно обмениваться данными между контейнером docker и хостом, используя

docker run -it -v /path/to/host/folder:/container/path image-name

Теперь я пытаюсь запускать этот docker образ через cronjob Kubernetes каждую минуту, для которой мой файл yaml выглядит следующим образом:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: automation
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: automation
            image: localhost:32000/image-name:registry  
          restartPolicy: OnFailure

Но как мне поделиться данными между моим локальным компьютером и k8, чтобы в основном воспроизвести функциональность -v /path/to/host/folder:/container/path из команды docker run? Что мне добавить в файл yaml?

Помогите, пожалуйста.

1 Ответ

1 голос
/ 03 августа 2020

Если вы просто играете с одним узлом и вам нужно сопоставить том из этого узла с подом, работающим на том же узле, тогда вам нужно использовать том hostPath . Таким образом, ваш код будет выглядеть так:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: automation
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: automation
            image: localhost:32000/image-name:registry  
            volumeMounts:
            - mountPath: /container/path
              name: test-volume
          restartPolicy: OnFailure
          volumes:
          - name: test-volume
            hostPath:
              # directory location on host
              path: /path/to/host/folder
              # this field is optional
              type: Directory

Предупреждение, это будет работать, только если у вас есть только кластер с одним узлом .

Если у вас есть многоузловой кластер, тогда вам нужно c посмотреть на решения распределенного хранения и как использовать их с кубернетами.

Вот do c о томах в K8S

...