【问题标题】:Hyperledger Fabric on Kubernetes with ingress具有入口的 Kubernetes 上的 Hyperledger Fabric
【发布时间】:2019-04-24 18:37:01
【问题描述】:

我正在使用 AKS(Azure Kubernetes 服务)启动所有 Hyperledger Fabric 容器。示例 Fabric 网络在 AKS 上成功运行。但是,默认情况下所有容器/pod 都可以在集群内访问。

如何使用 ingress 公开 pod/fabric 容器以供外部 IP 访问?

我查看了一些参考资料,但他们使用 ingress-controller 来定义将请求导航到特定 pod 的路由。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: hello-world-ingress
  namespace: ingress-basic
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: aks-helloworld
          servicePort: 80
      - path: /hello-world-two
        backend:
          serviceName: ingress-demo
          servicePort: 80

然而,对于 peers/orderer 容器,我们不能有任何特定的规则/路径。

如果有人能指点我所需的配置,那就太好了。

【问题讨论】:

    标签: kubernetes hyperledger-fabric kubernetes-ingress nginx-ingress


    【解决方案1】:

    首先,Ingress 定义到 服务 的路由,而不是 Pod。如果您的 Ingress-controller 有 LoadBalancer 服务,您应该能够公开您的应用程序。 Here 是安装说明。

    附:您不一定需要反向代理来向外部公开您的服务。您可以使用NodePort 服务来做到这一点。

    P.S.2 如果您需要更复杂的路由规则和要求,我强烈建议您查看Ambassador

    【讨论】:

    • 感谢您分享您的想法。但在 Hyperledger Fabric 中,服务为不同的协议公开不同的端口。每个服务至少开放三个端口。这些服务通过 TCP 和 grpc 协议工作。不确定如何与 Nodeport 一起工作,因为它可能会搞砸以公开所有服务的每个端口。
    猜你喜欢
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2019-04-07
    • 2017-12-24
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多