Как сделать перезапуск развертывания, если перезапускается другой модуль - PullRequest
0 голосов
/ 16 января 2019

У меня есть веб-развертывание и набор состояний mongoDB. Веб-развертывание подключается к mongodb, но время от времени в mongodb может возникать ошибка, и он перезагружается и запускается. Соединение от веб-развертывания до mongodb никогда не перезапускается. Есть ли способ в веб-развертывании. Если модуль mongodb перезапускается, чтобы перезапустить и веб-модуль?

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Да, вы можете использовать датчик жизнеспособности на контейнере приложения, который проверяет ваш Mongo Pod / StatefulSet. Вы можете настроить его таким образом, чтобы при сбое TCP-подключение к вашему Mongo Pod / StatefulSet при сбое Mongo (возможно, проверять каждую секунду)

Имейте в виду, что при таком подходе вам всегда нужно сначала запустить Mongo Pod / StatefulSet.

Функция коляски, описанная в другом ответе, тоже должна работать, только это займет немного больше конфигурации.

0 голосов
/ 16 января 2019

К сожалению, в Kubernetes нет простого способа сделать это напрямую, поскольку Kubernetes не имеет понятия о зависимости между ресурсами.

Лучшее место для решения этой проблемы - это сам модуль веб-сервера.

Идеальным решением является обновление приложения для повторной попытки подключения при сбое.

Менее идеальным решением было бы иметь контейнер с коляской, который просто опрашивает базу данных и вызывает сбой при сбое базы данных, что должно заставить Kubernetes перезапустить модуль.

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