带有入口的 Kubernetes 上的 Hyperledger Fabric

Hyperledger Fabric on Kubernetes with ingress

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

如何使用入口公开 pods/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 个容器提供任何特定的 rules/path。

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

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

P.S。您不一定需要反向代理来向外部公开您的服务。您可以使用 NodePort 服务。

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