Довольно распространенная настройка, которую я вижу для докера, - заставить контейнер вращаться, выполнить задачу и затем выйти.
Это то, что я делаю довольно часто с docker-compose, где у меня есть контейнер узлов, который выполняет процесс сборки и не нуждается в поддержке после сборки статических файлов.
В этих случаях, если я посмотрю на вывод docker-compose ps
, в то время как другие мои контейнеры открыты и открыты для порта, состояние контейнеров узла будет «Выход 0».
Хотя в противном случае мне не нужен доступ к этому контейнеру, он может быть запущен.
Какая хорошая практика для перевода этой настройки в Kubernetes?
Мой первоначальный подход состоял в том, чтобы поместить все в один модуль, но выход из контейнера вызывает CrashLoopBackOff, и из-за политики перезапуска модуля модуль продолжает перезапускаться.
Если бы я оставил эту настройку, я бы хотел, чтобы модуль перезапускался только в случае сбоя одного из других контейнеров. Он уже перемещает статические файлы сборки в том, доступный для других контейнеров.
Должен ли этот контейнер быть перемещен в другой модуль, который не перезапускается? Похоже, это излишне усложнит развертывание.