Я пытаюсь запустить частную звездную инфраструктуру блокчейнов в kubernetes (не для присоединения к существующей общедоступной или тестовой звездной сети), но мой вопрос можно обобщить в сценарии запуска любых одноранговых сервисов в kubernetes.Поэтому я постараюсь объяснить мою проблему в обобщенном виде (надеясь, что она может дать ответы, применимые к любой подобной топологии, работающей в kubernetes).
Вот сценарий:
Я хочу запустить 3 пира (в терминах кубе: стручки), которые могут общаться друг с другом децентрализованным способом, но проблема заключается в том, что каждый из этих пиров имеет немного отличную конфигурацию.В общем, конфигурация выглядит следующим образом (это пример для pod0):
NETWORK_PASSPHRASE="my private network"
NODE_SEED=<pod0_private_key>
KNOWN_PEERS=[
"stellar-0",
"stellar-1",
"stellar-2"]
[QUORUM_SET]
VALIDATORS=[ <pod1_pub_key>, <pod2_pub_key> ]
Проблема заключается в том, что каждый модуль имеет разные значения:
- NODE_SEED
- Список VALIDATORS
Моей первой идеей (до реализации этой проблемы) было:
- Создать карту конфигурации для этой конфигурации
- Создать набор состояний(3 реплики) с безголовым обслуживанием для обеспечения стабильной доступности между модулями (звездный-0, звездный-1, звездный-2 ... и т. Д.)
Другая идея (после реализации этой проблемы) будетto:
- Создание отдельных карт конфигурации для каждого узла
- Создание набора состояний (1 реплика) с помощью службы
Мне интересно, есть ли что-нибудь лучшерешение / шаблон, который можно использовать для этой цели, вместо того, чтобы запускать совершенно одинаковые службы с немного отличающейся конфигурацией в виде отдельных объектов (statefulset, развертывание ...) со своей отдельной службой, через которую эти одноранговые узлы будут доступныдоступен (но этот вид поражает цель использования ресурсов высокого уровня kubernetes, которые позволяют репликацию)?
Спасибо