Kubernetes 从与我具有相同PKI-ID的对等方接收到AliveMessage

Kubernetes 从与我具有相同PKI-ID的对等方接收到AliveMessage,kubernetes,hyperledger-fabric,Kubernetes,Hyperledger Fabric,我正在尝试将Hyperledger结构移植到Kubernetes。但是我正在努力让peer1部署。如果我启用了CORE\u PEER\u GOSSIP\u BOOTSTRAP,我会收到错误“从与我具有相同PKI-ID的对等方接收到有效消息” 如何调试据称与另一个具有相同PKI-ID的对等方 以此为起点: 我能够创造: order和clipod位于default命名空间中 org1|org2名称空间中的一个peer0 peer1,但仅当我禁用(注释掉)CORE\u PEER\u GOSSIP\

我正在尝试将Hyperledger结构移植到Kubernetes。但是我正在努力让peer1部署。如果我启用了
CORE\u PEER\u GOSSIP\u BOOTSTRAP
,我会收到错误“从与我具有相同PKI-ID的对等方接收到有效消息”

如何调试据称与另一个具有相同PKI-ID的对等方

以此为起点:

我能够创造:

  • order
    cli
    pod位于
    default
    命名空间中
  • org1
    |
    org2
    名称空间中的一个peer0
  • peer1
    ,但仅当我禁用(注释掉)
    CORE\u PEER\u GOSSIP\u引导时
如果我为
peer1
启用
CORE\u PEER\u GOSSIP\u引导
,我将收到以下警告和错误:

[gossip/gossip#10.0.0.10:7051] NewGossipService -> WARN 01c External endpoint is empty, peer will not be accessible outside of its organization
...
[gossip/discovery#10.0.0.10:7051] handleAliveMessage -> ERRO 02a Bad configuration detected: Received AliveMessage from a peer with the same PKI-ID as myself: tag:EMPTY alive_msg:<membership:<pki_id:"[[REDACTED]]" > timestamp:<inc_number:1495468533769417608 seq_num:416 > >
为了向组织中的其他对等方公开
peer0
,并公开
order
,我为
peer0
(仅选择
peer0
)和
order
提供了
ClusterIP
服务。这是不雅的,但我正试图让它工作之前,我让它工作得更漂亮

我能够使用nslookup从集群上部署为默认的pod中解析
order.default.svc.cluster.local
peer0.org1.svc.cluster.local
,`peer0.org2.svc.cluster.local'


如果没有用于gPRC的类似curl的工具,我可以在
7051
7053
上打开这些端点的套接字。如果对等点从同一个节点启动,则可能是您为这两个对等点安装了相同的加密材料(mspconfig目录路径)。如果是这种情况,请分离两个对等方的目录结构,并将其各自的证书保存在其中,在docker compose文件中更新msp的各自路径,然后尝试运行。

如果对等方是从同一节点启动的,则可能是装载了相同的加密材料(mspconfig目录的路径)对两个同龄人来说。如果是这种情况,请分离两个对等方的目录结构并将各自的证书保存在其中,在docker compose文件中更新msp的各自路径并尝试运行。

首先,确保使用了正确的证书。 其次,验证
gossip
的环境/配置设置是否正确

environment:
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:8051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
  - CORE_PEER_GOSSIP_ENDPOINT=peer0.org1.example.com:7051
或者在core.yaml中

peer:
  gossip:
    bootstrap: peer0.org1.example.com:7051
    externalEndpoint: peer1.org1.example.com:8051
    endpoint: peer0.org1.example.com:7051
已编辑:还要确保已正确设置


希望这有帮助,它对我有用。并且我成功地连接到了对等方。

首先,确保您使用了正确的证书。 其次,验证
gossip
的环境/配置设置是否正确

environment:
  - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:8051
  - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
  - CORE_PEER_GOSSIP_ENDPOINT=peer0.org1.example.com:7051
或者在core.yaml中

peer:
  gossip:
    bootstrap: peer0.org1.example.com:7051
    externalEndpoint: peer1.org1.example.com:8051
    endpoint: peer0.org1.example.com:7051
已编辑:还要确保已正确设置

希望这有帮助,它对我有用。我成功地与同龄人建立了联系