远程连接一个区块链,该区块链由运行Kubernetes的Hyperledger Fabric 1.4制成

远程连接一个区块链,该区块链由运行Kubernetes的Hyperledger Fabric 1.4制成,kubernetes,hyperledger-fabric,Kubernetes,Hyperledger Fabric,我有一个Hyperledger Fabric 1.4区块链在Kubernetes下运行 ➜ ~ kubectl get svc -n blockchain NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE b

我有一个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

我应该怎么做才能连接呢?

我可以想到多种解决方案,其他人可能有更多的想法

1) 使用负载平衡器。您可以设置负载平衡器,或配置现有的负载平衡器,以将端口转发到k8s群集中所有工作节点的nodeport。然后可以通过负载平衡器调用后端

2) 使用入口。入口可能前面已经有一个负载平衡器,这可能更容易实现。对于入口,您不需要节点端口。您可以直接从入口连接吊舱,或者在每个吊舱前面添加一个服务并连接到该服务

后端有多个pod,它们似乎是区块链中的对等节点,而不是同一pod的副本。如果您需要创建三个独立的端点,以便控制连接的对等方,那么使用三个代理连接到这些POD的入口就可以了


如果您不关心连接的是哪一个对等机,那么您可以在三个POD前面添加一个服务作为负载平衡器。您可以向所有三个对等方添加一个公共标签,并让您的服务使用该标签选择其目的地,因此当您点击该服务时,它将充当对等方之间的负载平衡器。然后,您可以通过入口公开该服务。

您可以为kubernetes群集的所有工作节点创建AWS负载平衡器,并将流量转发到该节点端口。我已经为其他应用程序提供了负载平衡器。有可能使用它吗?ELB的成本为20美元,所以我更愿意将其共同化……您应该能够在ELB中打开一个港口,并将其转发给您的节点港。如果这是集群的一个选项,您还可以考虑使用入口。我如何知道这是否是一个选项?对于我的其他应用程序,我使用traefik作为入口,所以。对我来说,这是一样的。。。你能在回答中详细说明最简单的解决方案吗?我会同意的!或者给我实施它的线索,现在,我不知道怎么做。我对K8S和Hyperledger都是新手:(我会选择ingress!谢谢
blockchain-org1peer1
blockchain-org1peer2
blockchain-org1peer3