【问题标题】:Kubernetes Hyperledger Fabric Orderer - Failed to Create new connectionKubernetes Hyperledger Fabric Orderer - 无法创建新连接
【发布时间】:2023-04-02 06:55:01
【问题描述】:

我正在尝试使用 kubernetes(1 Master & 1 Minion) Wavenet 网络配置设置 Hyperledger Fabric。

Kubernetes 版本:1.13.3 Ubuntu 版本:18.04(仿生)

以下是我为 orderer 的部署和服务。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: orderer
spec:
  replicas: 1
  selector:
    matchLabels:
      app: orderer
  template:
    metadata:
      labels:
        app: orderer
    spec:
      hostname: orderer-example-com
      volumes:
      - name: nfs-volume
        nfs: 
         server: 13.71.xx.xx 
         path: /home/         
      containers:
      - args:
        - orderer
        env:
            - name: ORDERER_GENERAL_GENESISFILE
              value: /home/channel/genesis.block
            - name: ORDERER_GENERAL_GENESISMETHOD
              value: file
            - name: ORDERER_GENERAL_LEDGERTYPE
              value: json
            - name: ORDERER_GENERAL_LISTENADDRESS
              value: 127.0.0.1
            - name: ORDERER_GENERAL_LISTENPORT
              value: "7050"
            - name: ORDERER_GENERAL_LOCALMSPDIR
              value: "/home/crypto/crypto-config/ordererOrganizations/insurance.com/orderers/orderer.insurance.com/msp"
            - name: ORDERER_GENERAL_LOCALMSPID
              value: OrdererMSP
            - name: ORDERER_GENERAL_LOGLEVEL
              value: info
            - name: ORDERER_GENERAL_TLS_CERTIFICATE
              value: /home/crypto/crypto-config/ordererOrganizations/insurance.com/orderers/orderer.insurance.com/tls/server.crt
            - name: ORDERER_GENERAL_TLS_ENABLED
              value: "false"
            - name: ORDERER_GENERAL_TLS_PRIVATEKEY
              value: /home/crypto/crypto-config/ordererOrganizations/insurance.com/orderers/orderer.insurance.com/tls/server.key
            - name: ORDERER_GENERAL_TLS_ROOTCAS
              value: '[/home/crypto/crypto-config/ordererOrganizations/insurance.com/orderers/orderer.insurance.com/tls/ca.crt]'
        image: hyperledger/fabric-orderer
        name: orderer
        ports:
         - name: orderer-port
           containerPort: 7050
        resources: {}
        volumeMounts:
              - mountPath: "/home/"
                name: nfs-volume
            # - mountPath: "/home/channel"
            #   name: orderer-insurance-com-claim0
            # - mountPath: "/home/crypto/crypto-config/ordererOrganizations/insurance.com/orderers/orderer.insurance.com"
            #   name: orderer-insurance-com-claim1        
        workingDir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
      restartPolicy: Always    

 -----
 apiVersion: v1
kind: Service
metadata:
  name: orderer
spec:
  selector:
    app: orderer
  ports:
   - protocol: TCP
     targetPort: 7050
     port: 7050
     nodePort: 31001
     name: orderer-port
  type: NodePort

我已将 orderer 部署的端口 7050 作为服务公开到端口 31001。Orderer pod 似乎运行良好,pod 或服务中没有错误。奇怪的是,当我尝试连接订购服务时,它总是超时

我确实检查了服务,它确实公开了端口,即 7050-->310001。不知道为什么我会超时。

curl "localhost:31001" 也超时了。

如果我缺少 kubernetes 的任何内容,请告诉我?

**更新:Orderer Pod 描述

【问题讨论】:

  • 你能提供kubectl describe po orderer吗?
  • @Crou:更新了 orderer pod 描述的快照。

标签: kubernetes hyperledger-fabric hyperledger


【解决方案1】:

我不认为

- name: ORDERER_GENERAL_LISTENADDRESS
  value: 127.0.0.1 

将起作用,因为这意味着排序者仅在容器内的环回地址中侦听。尝试将值设置为0.0.0.0

【讨论】:

  • 我用 localhost ,0.0.0.0,127.0.0.1 选项测试了,没有运气!
  • 您究竟是如何尝试访问订购者的?您应该可以通过nodeIP:nodePort 访问
  • 我使用指定的主机名访问,即 orderer-example-com。
  • 这行不通....这不会是 Kube 内部使用的名称
猜你喜欢
  • 1970-01-01
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
相关资源
最近更新 更多