Установить переменную среды для одного модуля в кластере - PullRequest
1 голос
/ 18 мая 2019

У меня есть n экземпляров моего микросервиса, работающего как пакеты kubernetes, но поскольку в коде приложения есть некоторая логика планирования, я бы хотел, чтобы только один из этих модулей выполнял код.

В приложениях Spring,Общий подход состоит в том, чтобы активировать запланированный профиль -Dspring.profiles.active=scheduled только для экземпляра и оставить его деактивированным для оставшихся экземпляров.Я хотел бы знать, как это можно сделать в Куберне.


Примечание: Я знаком с подходом, в котором задание kubernetes cron может вызывать конечную точку, чтобы только один экземпляр, выбранный балансировщиком нагрузки, выполнял запланированный код.Однако я хотел бы знать, возможно ли настроить спецификацию kubernetes таким образом, чтобы только в одном модуле была установлена ​​переменная окружения.

1 Ответ

2 голосов
/ 19 мая 2019

Вы можете создать развертывание с 1 репликой с требуемой переменной среды и другое развертывание с любым количеством реплик без этой переменной.Вы также можете установить одинаковые метки в обоих развертываниях, чтобы Service мог загружать баланс трафика между модулями из обоих развертываний, если вам это нужно.

...