У меня есть модуль / служба, в которой запущено приложение, которое использует etcd в качестве системы синхронизации и хранилища данных. Я хочу запустить etcd внутри модуля, чтобы все реплики образовывали согласованный кластер. Другими словами, приложение в реплике №1 может записать «foo» в localhost:4001/v2/keys/my_key
, а затем реплика №2 может прочитать localhost:4001/v2/keys/my_key
и получить в результате «foo».
Непонятно, как это можно сделать, поскольку реплики подов не имеют индивидуальной адресации. Теоретически я мог бы создать службу «etcd», открывающую порты кластера, но любые запросы будут циклически передаваться ко всем репликам, так что отдельные узлы etcd не смогут найти друг друга.
Правильно ли я подхожу к этой проблеме?