带有入口的 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.
我正在使用 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.