Я пытаюсь запустить частную звездную инфраструктуру блокчейна на кубернетах (не для присоединения к существующей общедоступной или тестовой звездной сети), но мой вопрос можно обобщить для сценария запуска любых одноранговых служб на кубернетах. Поэтому я попытаюсь объяснить свою проблему обобщенно (в надежде, что она даст ответы, применимые к любой аналогичной топологии, работающей на кубернетах).
Вот сценарий:
Я хочу запустить 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
- Список ВАЛИДАТОРОВ
Моя первая идея (до осознания этой проблемы) заключалась в следующем:
- Создать конфигурационную карту для этой конфигурации
- Создайте набор состояний (3 реплики) с помощью безголового сервиса, чтобы обеспечить стабильную доступность между модулями (stellar-0, stellar-1, stellar-2 и т. Д.)
Другая идея (после осознания этой проблемы) заключалась бы в следующем:
- Создайте отдельные карты конфигурации для каждого однорангового узла
- Создать набор состояний (1 реплика) с сервисом
Мне интересно, есть ли лучшее решение / шаблон, который можно было бы использовать для этой цели, а не запускать полностью те же службы с немного другой конфигурацией как отдельные объекты (набор состояний, развертывание ...) с их отдельной службой, через которую эти одноранговые узлы будут доступны (но этот вид поражает цель использования ресурсов высокого уровня Kubernetes, которые позволяют репликацию)?
Спасибо