Непосредственно соединяя блокчейн, созданный с помощью Hyperledger Fabric 1.4, работающей с Kubernetes - PullRequest
0 голосов
/ 07 октября 2019

У меня есть блокчейн Hyperledger Fabric 1.4, работающий под Kubernetes

➜  ~ kubectl get svc -n blockchain
NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP                                                               PORT(S)                           AGE
blockchain-orderer        NodePort       100.68.98.142    <none>                                                                    31010:31010/TCP                   7d4h
blockchain-orderer2       NodePort       100.64.169.137   <none>                                                                    32010:32010/TCP                   7d4h
blockchain-orderer3       NodePort       100.68.185.88    <none>                                                                    31012:31012/TCP                   7d4h
blockchain-org1-ca        NodePort       100.66.249.91    <none>                                                                    30054:30054/TCP                   7d4h
blockchain-org1peer1      NodePort       100.70.28.4      <none>                                                                    30110:30110/TCP,30111:30111/TCP   7d4h
blockchain-org2-ca        NodePort       100.68.243.9     <none>                                                                    30055:30055/TCP                   7d4h
blockchain-org2peer1      NodePort       100.71.114.216   <none>                                                                    30210:30210/TCP,30211:30211/TCP   7d4h
blockchain-org3-ca        NodePort       100.64.199.106   <none>                                                                    30056:30056/TCP                   7d4h
blockchain-org3peer1      NodePort       100.66.55.254    <none>                                                                    30310:30310/TCP,30311:30311/TCP   7d4h
blockchain-org4-ca        NodePort       100.70.219.197   <none>                                                                    30057:30057/TCP                   7d4h
blockchain-org4peer1      NodePort       100.69.141.45    <none>                                                                    30410:30410/TCP,30411:30411/TCP   7d4h
docker                    ClusterIP      100.67.69.23     <none>                                                                    2375/TCP                          7d4h

Я хочу, чтобы удаленно подключить Blockchain из приложения Go и отправить данные для записи.

Тем не менее, яне знаю, как проверить подключение, насколько я понимаю, с помощью службы NodePort я смог бы подключить блокчейн статически через ip: порт, как указано в docs

Предоставляет Сервис для каждого IP-адреса узла в статическом порту (NodePort). A ClusterIP Сервис, к которому маршрутизируется Сервис NodePort, создается автоматически. Вы сможете связаться со службой NodePort вне кластера, запросив <NodeIP>:<NodePort>

Мои узлы размещены на AWS.

Стручки, которые я должен подключить:

blockchain-org1peer1
blockchain-org1peer2
blockchain-org1peer3

Как мне подключиться

1 Ответ

1 голос
/ 07 октября 2019

Есть несколько решений, о которых я могу подумать, и у других, возможно, есть больше идей.

1) Используйте балансировщик нагрузки. Вы можете настроить балансировщик нагрузки или настроить существующий для перенаправления порта на порт узла всех рабочих узлов в вашем кластере k8s. Затем вы можете вызвать бэкэнд через этот балансировщик нагрузки.

2) Использовать вход. Вход, вероятно, уже имеет балансировщик нагрузки перед ним, и это может быть легче реализовать. При входе вам не нужен NodePort. Вы можете напрямую подключить модули из входа или добавить службу перед каждой и подключиться к ней.

У вас есть несколько модулей в бэкэнде, и они кажутся равноправными узлами в блокчейне, а нереплики того же стручка. Если вам нужно создать три отдельных конечных точки, чтобы вы могли контролировать, какой узел вы подключаете, будет работать вход с тремя прокси, подключенными к этим модулям.

Если вам все равно, какой узел вы подключаете, вы можете добавить службу перед тремя модулями в качестве балансировщика нагрузки. Вы можете добавить общую метку ко всем трем одноранговым узлам, и ваша служба выберет пункт назначения, используя эту метку, поэтому, когда вы обращаетесь к службе, она действует как балансировщик нагрузки между равноправными узлами. Затем вы можете открыть эту службу через вход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...