Создавайте уникальные капсулы с помощью Helm / Kubernetes - PullRequest
0 голосов
/ 29 января 2019

Мне нужно, чтобы n модулей выполняли одно и то же, но работали на разных конечных точках, основываясь на переменной среды.Например, pod1 будет обрабатывать var1, pod2 будет обрабатывать var2 и т. Д. *

Могу ли я иметь уникальные целевые модули в развертывании: распространять уникальную переменную для каждого модуля?Или мне нужно иметь наборы состояний, которые выглядят тяжелее?

1 Ответ

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

Я не думаю, что это возможно при одном развертывании, так как это состояние без состояния, и вам нужно поддерживать состояние.Например, если pod1 обрабатывает var1 и он умирает, должен быть создан новый модуль, который должен обрабатывать только var1.Так что это невозможно при одном развертывании.

Но это возможно при использовании одного StatefulSet с некоторыми изменениями в самом приложении.Вы можете хранить эти переменные env где-нибудь (может быть, DB или том) и имя модуля (который в данном случае уникален, так как это StatefulSet) для каждой переменной.Поэтому вместо чтения из переменной env читайте переменные из хранилища в зависимости от имени модуля.

Также можно создать несколько конечных точек с помощью labelSelector.

...