Невозможно «импортировать» существующий контейнер Docker в капсулу Kubernetes. Kubernetes всегда управляет всем жизненным циклом контейнера, включая решение о том, на каком хосте его запускать.
Если ваш рабочий процесс предполагает выполнение какой-либо ручной настройки между docker create
и docker start
, вам следует попытаться автоматизировать это; У Kubernetes нет ничего эквивалентного, и фактически иногда это будет работать против вас. Если узел будет уничтожен (либо из-за того, что администратор его опустошил, либо из-за сбоя жесткого диска, либо из-за чего-то еще), Kubernetes попытается переместить каждый модуль, который там находился, а это значит, что контейнеры будут уничтожены и воссозданы где-то еще без предварительного уведомления. Если вы используете развертывание для управления вашими модулями (и вы должны это делать), у вас обычно будет несколько копий пакета, и вам придется выполнять ручную настройку для всех из них.
Короче говоря: планируйте на контейнерах, уничтожаемых и воссозданных регулярно и без вашего вмешательства. Переместите как можно больше настроек в точку входа вашего контейнера или, если это действительно необходимо, в контейнер инициализации, который запускается в модуле. Не ожидайте, что сможете вручную настроить модуль перед его запуском. Следуйте этому подходу и в чистом Docker пространстве: отдельный контейнер сам по себе не должен быть особенно ценным, и вы сможете docker rm && docker run
создать его новую копию без особых проблем.