Как раздать n разных конфигов на ровно n стручков - PullRequest
0 голосов
/ 10 марта 2020

У меня есть контейнерный демон, для которого мне нужно запустить один экземпляр для каждой вещи . Каждая вещь имеет уникальный набор конфигов, связанных с ней, но изображение контейнера такое же. Конфиги могут быть установлены просто как переменные окружения. У меня есть список конфигов, и мне нужно определить желаемое состояние как наличие ровно 1 модуля, работающего на каждую вещь . Как правильно построить это в Kubernetes с или без Хелма?

Насколько я понимаю, ReplicaSets и Deployments работают с одинаковыми контейнерами, другими словами, все они будут запущены вместе с одни и те же переменные среды? Я понимаю, что StatefulSet может представлять это, но демонам не нужно действительно хранить состояние, им не нужно постоянное хранилище, они могут быть убиты по желанию, если вскоре после этого появится другой с такими же настройками.

Одна подсказка, которую мне дал кто-то, состояла в том, чтобы использовать партиции Helmfile или Helm. Это степень того, что они сказали мне. Я еще не исследовал, подходят ли они или нет.

1 Ответ

1 голос
/ 10 марта 2020

Вы правы, говоря, что Deployment и ReplicaSets работают на идентичных контейнерах, поэтому, как я вижу, у вас есть 2 варианта:

Развертывание нескольких развертываний с разными конфигурациями, определенными в файле значений:

  1. Вы можете увидеть пример здесь , где в файле значений задано несколько конфигов и используется {{range}} для итерации и создания нескольких развертываний

  2. Выполните итерацию по именам / файлам конфигурации, используя язык сценариев по вашему выбору, и создайте отдельный выпуск для каждой конфигурации с помощью командной строки, например: --set configName=

Лично я бы сделал go со вторым вариантом, поскольку несколько выпусков руля могут использовать шлем, чтобы лучше понять, что работает, и его состояние. Кроме того, любое действие CRUD, которое вы хотели бы сделать, было бы менее опасным, поскольку развертывание разделено

...