У меня есть приложение/приложение, которое использует приложение etcd как систему синхронизации и хранилище данных. Я хочу запустить etcd внутри pod, так что все реплики образуют согласованный кластер. Другими словами, поэтому приложение в реплике # 1 может записать «foo» в localhost:4001/v2/keys/my_key
, а затем реплика №2 может затем прочитать localhost:4001/v2/keys/my_key
и получить «foo» в результате.Как запустить кластер etcd среди pod replicas?
Непонятно, как это можно сделать, поскольку копия pod не является индивидуально адресуемой. Я мог бы теоретически создать сервис «etcd», отображающий порты кластера, но любые запросы будут циклически распределены по всем репликам, поэтому отдельные узлы etcd не смогут найти друг друга.
Я подхожу к этой проблеме правильно?
Вы используете 'apiVersion: etcd.coreos.com/v1beta1' и' kind: Cluster', тогда как пример etcd-operator использует 'apiVersion: etcd.database.coreos.com/v1beta2' и' kind: EtcdCluster'. Каковы различия? https://github.com/coreos/etcd-operator/blob/master/example/example-etcd-cluster.yaml – akauppi