Kubernetes - отправка сообщения всем модулям из сервиса или из Ingress - PullRequest
0 голосов
/ 10 мая 2018

Можно ли отправлять запросы всем модулям за сервисным / входным контроллером на основе запросов?

Мое требование - отправлять запросы всем модулям, если запрос /send/all.

Спасибо

1 Ответ

0 голосов
/ 13 мая 2018

Это невозможно, потому что входной контроллер не может этого сделать (наверняка входные данные на основе nginx и GLBC не могут этого сделать, но из-за того, как работает http, я предполагаю, что это так для всех входных контроллеров).

В зависимости от вашего конкретного случая у вас есть несколько вариантов.

Если ваш случай только отслеживается, и вы можете позволить себе контролировать количество запросов, отправляемых вашим модулям, вы можете просто установить http датчик жизнеспособности для своих модулей. Тогда вы будете уверены, что если pod не вернет правильный ответ, k8s не отправит трафик на него.

Если вам нужно запустить какое-либо действие на всех модулях, у вас есть несколько вариантов:

Используйте обмен сообщениями - например, вы можете использовать rabbitmq chart , чтобы развернуть rabbitmq и написать приложение, которое будет обрабатывать ваш трафик.

Использование БД - создайте какое-либо приложение, которое будет устанавливать какой-либо флаг в БД, и добавьте некоторую логику в ваше приложение для мониторинга флага, или создайте cron job , а также для мониторинга флага и запуска и запуска необходимых действий на pods (в ​​этом случае вы можете использовать служебную учетную запись , чтобы передать свой модуль cron в API k8s для вывода списка pod.

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