Сложности с разными модулями kubernetes, запущенными с использованием kubetctl, при применении одинаковых каталогов для обмена изображениями контейнеров - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь запустить два отдельных модуля, используя один и тот же образ контейнера в кластере, применяя файл конфигурации. Несмотря на то, что нет общих или постоянных томов, когда оба модуля активны, один и тот же каталог в обоих модулях обновляется созданными файлами из другого модуля, и доступ к записи внезапно изменяется. Используемый контейнер - это изображение jupyter-docker-stacks jupyter / minimal-notebook, извлекаемое непосредственно из dockerhub. Эти модули, работающие с этим контейнером, создаются путем применения манифеста. Два модуля имеют разные ярлыки и названия. Служба с уникальным именем создается для каждого модуля для доступа.

Сохраняются ли ресурсы для контейнеров с течением времени в кластере, как в контейнерах Docker? Я не могу найти что-то эквивалентное --rm флагу для использования вместе с kubectl apply.

Спасибо

Ответы [ 3 ]

0 голосов
/ 25 июня 2019

$ kubectl apply -f <fileName> создаст или внесет некоторые изменения в модуль.Если вы хотите удалить модуль, используя apply, вы должны использовать $ kubectl delete -f <fileName>

Об общем доступе. Если у вас есть 2 отдельных манифеста, вы можете указать volumeMounts для каждого контейнера.Для получения дополнительной информации прочитайте документацию зависит от ваших потребностей.

Также, как советовал @Kaizhe Huang, вы можете использовать Job, если вы хотите выполнить что-то один раз, или попробовать initContainers, еслиВы хотите установить что-то в POD до запуска основного контейнера.Подробнее о initContainers здесь .

0 голосов
/ 25 июня 2019

Вы можете проверить докер-файл вашего изображения.Посмотрите, есть ли заявленные VOLUME.Если есть, может быть, они разделяют тот же объем на хосте.Не уверен, но вы можете проверить.

0 голосов
/ 20 июня 2019

Если вы хотите удалить модуль после завершения задания, вы можете применить job вместо pod.Идея job в k8s состоит в том, чтобы запустить модуль и выполнить работу, а затем модуль будет остановлен.Для получения дополнительной информации: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...