как создать стручок кубернетес с контейнером docker - PullRequest
0 голосов
/ 07 апреля 2020

У меня работает docker контейнер A, и я хочу создать модуль с контейнером A. Возможно ли это? Если это не так, могу ли я сохранить состояние контейнера «создан» в kubernetes?

Я также попытался установить параметр containerID для работающего containerID в файле pod.yaml и попытался изменить параметр containerID для редактирования kubectl в уже запущен модуль, но не все удалось.

Ответы [ 2 ]

0 голосов
/ 07 апреля 2020

Невозможно «импортировать» существующий контейнер Docker в капсулу Kubernetes. Kubernetes всегда управляет всем жизненным циклом контейнера, включая решение о том, на каком хосте его запускать.

Если ваш рабочий процесс предполагает выполнение какой-либо ручной настройки между docker create и docker start, вам следует попытаться автоматизировать это; У Kubernetes нет ничего эквивалентного, и фактически иногда это будет работать против вас. Если узел будет уничтожен (либо из-за того, что администратор его опустошил, либо из-за сбоя жесткого диска, либо из-за чего-то еще), Kubernetes попытается переместить каждый модуль, который там находился, а это значит, что контейнеры будут уничтожены и воссозданы где-то еще без предварительного уведомления. Если вы используете развертывание для управления вашими модулями (и вы должны это делать), у вас обычно будет несколько копий пакета, и вам придется выполнять ручную настройку для всех из них.

Короче говоря: планируйте на контейнерах, уничтожаемых и воссозданных регулярно и без вашего вмешательства. Переместите как можно больше настроек в точку входа вашего контейнера или, если это действительно необходимо, в контейнер инициализации, который запускается в модуле. Не ожидайте, что сможете вручную настроить модуль перед его запуском. Следуйте этому подходу и в чистом Docker пространстве: отдельный контейнер сам по себе не должен быть особенно ценным, и вы сможете docker rm && docker run создать его новую копию без особых проблем.

0 голосов
/ 07 апреля 2020

Все вместе запуск контейнера и запуск модуля отличаются.

Если вы хотите запустить контейнер A в модуле, выполните следующие действия: 1. Создайте образ docker из контейнера A и реестр pu sh в docker 2. Создайте файл deploy.yaml для Kubernetes и упомянуть этот контейнер docker тянуть URL и тег в разделе изображения и тега 3. развернуть модуль с помощью kubectl apply -f deploy.yaml

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