Hyperledger Fabri c Присоединиться к пиру с последней конфигурацией - PullRequest
0 голосов
/ 17 марта 2020

Как я могу присоединиться к каналу с одноранговым узлом, используя последний блок конфигурации?

Заказчики в блоке конфигурации 0 больше не существуют, имена DNS изменились.

Когда я получить последнюю конфигурацию для канала и попытаться соединиться с этим, я получаю следующую ошибку:

peer channel fetch config ...

peer channel join ...


Error: proposal failed (err: bad proposal response 500: cannot create ledger from genesis block: Expected block number=0, received block number=11276)
command terminated with exit code 1

Однако, когда я выбираю блок конфигурации 0 и присоединяюсь, он делает это успешно, но узел никогда не синхронизируется 'так как он не может подключиться к заказчикам (так как они больше не существуют в этом домене)

peer channel fetch 0 ...

peer channel join ...

...
in logs

Could not connect to any of the endpoints: [{orderer-3.orderers.svc.cluster.local:7050 [...]} {orderer-1.orderers.svc.cluster.local:7050 [...]} {orderer-2.orderers.svc.cluster.local:7050 [...]}]

1 Ответ

1 голос
/ 18 марта 2020

Попробуйте с блоком 0 или oldest. Поскольку DNS-имена изменились, вы должны сделать какой-то трюк.

TRICK 1: Переопределить разрешение имен в /etc/hosts.

В вашем партнере (внутри docker сам контейнер), отредактируйте /etc/hosts.

Сначала получите новый IP-адрес домена:

# apt update
# apt install dnsutils -y
host new.svc.cluster.local

Запишите IP, скажем X.Y.W.Z.

Теперь отредактируйте /etc/hosts внутри однорангового контейнера и свяжите новый IP со старым доменом:

X.Y.W.Z old.svc.cluster.local

Сделайте это для каждого домена, который изменился. Теперь вы сможете присоединиться. Даже если раньше было одноранговое соединение, теперь оно способно синхронизироваться. Всякий раз, когда ваш одноранговый контейнер перемещается, /etc/hosts изменения теряются, но после синхронизации он не возражает

Альтернативным приемом было бы использование iptables, но это полезно, только если ваш старый домен все еще остается разрешает IP.

...