Как выполнить команду в контейнере kubernetes по условию?
Ситуация следующая есть два взаимосвязанных сервиса (пода). Первый при запуске забирает по http конфигурационный файл у второго сервиса.
Периодически второй сервис пересобирается с обновленным конфигом, а первый сервис про обновление ничего не "знает", пока не перезапустится/пересоздаться (вручную или http запросом).
Нужно после обновления второго сервиса, единожды выполнить одну команду, либо перезапуск/удаление первого сервиса, либо http запрос.
В k8s есть init-контейнеры, но нет post-init-контейнеров или чего-то подобного. Readiness и livenessprobe не подходят, т.к. работают постоянно. Читал про job и cronjob, но не уверен что подойдет. Может кто-то сталкивался с похожей задачей?
Деплой сервисов осуществляется с помощью gitlab-ci, в нем разные группы под каждый сервис со своими .gitlab-ci.yml
пробовал, но пришлось отказаться, resolve идет на выше стоящий dns, а он про контейнеры ничего не знает (и не должен), я так понял резолвит воркер k8s, сильно не разбирался
ну такое
контейнеры за собой таскать дополнительные..
вы можете первому (основному) контейнеру command переопределить и туда через && добавить нужный вам рестарт или чо там нужно..
пробовал так, но что-то не завелось, второй контейнер живет пока в нем работает nginx, а при выполнении в command каких то действий он умирал, а с tail -f /dev/null, nginx лежал...