aagzip
@aagzip

Как правильно ограничить выполнение функции в нескольких репликах пода?

Добрый день.

Имеется приложение развернутое в EKS AWS, бэкэнд, с несколькими репликами, с фронта можно инициализировать запуск довольно долгой и тяжелой операции. Проблема в том, что если несколько людей будут обращаться к разным репликам, то они смогут запустить данную операцию одновременно несколько раз, что довольно бессмысленно (Сейчас стоит проверка в коде бэкэнда). Как правильно ограничить выполнение так, что если операция выполняется на одной из реплик, она прерывалась на других?

Мне в данный момент на ум приходит только расшаренный каталог (EFS например) между контейнерами и проверка по наличию в нем файла, например. Но это выглядит довольно топорно.
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
Viji
@Viji
DevOps Engineer
Поскольку у тебя EKS/AWS лучше всего использовать Parameter Store, куда ты дашь доступ своим подам, через eks service accounts. Они будут считывать параметры (переменные) и из значения при запуске своего функционала. Если значение заблокировано/изменено первым pod, то соответственно операции пойдут по другому пути.

https://docs.aws.amazon.com/eks/latest/userguide/i...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
Ставь блокировки в каком нибудь consul или zookeeper или etcd.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы