Я изучаю k8s и пытаюсь написать диаграммы Хелма для генерации файлов конфигурации для приложения, которое я использую для развития экосистемы. Я столкнулся с интересной проблемой, когда мне нужно создать конфигурации, которые являются общими для всех узлов, а некоторые - уникальными для каждого узла. Есть идеи, как мне это сделать?
Из моего файла values.xml:
# number of nodes / replicas
nodeCount: 5
replicaCount: 3
Общая конфигурация для всех узлов, называемая node_map.xml:
<default>
<node>
<replica>
<host>wild-wallaby-0</host>
<port>8000</port>
</replica>
<replica>
<host>scary-rapids-1</host>
<port>8000</port>
</replica>
</node>
<node>
<replica>
<host>wild-wallaby-1</host>
<port>8000</port>
</replica>
<replica>
<host>scary-rapids-2</host>
<port>8000</port>
</replica>
</node>
<node>
<replica>
<host>wild-wallaby-2</host>
<port>8000</port>
</replica>
<replica>
<host>scary-rapids-0</host>
<port>8000</port>
</replica>
</node>
</default>
Вышеуказанное достаточно просто для генерации, и эта конфигурация готова для каждого модуля, который является отдельным контейнером, но теперь для каждого модуля также должен быть написан дополнительный файл конфигурации, позволяющий этому модулю знать, какой узел и реплика у этого экземпляра, называется instance.xml. Обратите внимание, что файл не обязательно должен называться instance.xml ... У меня есть возможность указывать и загружать любой именованный файл, если я знаю, какое имя включить в команду запуска.
Например ...
Два экземпляра будут работать на узле wild-wallaby-0, реплике 1 узла 0 и реплике 2 узла 2. Каждому экземпляру потребуются файлы конфигурации, сгенерированные следующим образом:
Первый экземпляр ...
<!-- node 0 replica 1 instance.xml -->
<id>
<node>0</node>
<replica>1</replica>
</id>
И второй экземпляр ...
<!-- node 0 replica 2 instance.xml -->
<id>
<node>0</node>
<replica>2</replica>
</id>
Это, конечно, может следовать некоторым соглашениям, основанным на количестве узлов и реплик, определенных в моем файле значений. Хотя легко создать файл, общий для всех узлов, мне не ясно, как я могу сгенерировать настраиваемый файл конфигурации для каждого узла из рулевой диаграммы для файлов instance.xml.
Есть идеи или указатели?