Hyperledger Fabric в Kubernetes с ingress

#kubernetes #hyperledger-fabric #kubernetes-ingress #nginx-ingress

#кубернетес #hyperledger-ткань #kubernetes-вход #nginx-вход

Вопрос:

Я использую AKS (Azure Kubernetes Service), чтобы развернуть все тканевые контейнеры Hyperledger. Образец сети Fabric успешно запущен в AKS. Но, как и по умолчанию , все контейнеры / модули доступны только внутри кластера.

Как мне использовать ingress, чтобы сделать модули / тканевые контейнеры доступными с помощью внешних IP-адресов?

Я просмотрел некоторые ссылки, но они используют ingress-controller для определения маршрутов для перехода запроса к определенному модулю.

 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
  

Принимая во внимание, что у нас не может быть каких-либо конкретных правил / путей для одноранговых узлов / контейнеров-заказчиков.

Было бы здорово, если бы кто-нибудь мог указать мне на необходимую конфигурацию для этого.

Ответ №1:

Прежде всего, Ingress определяет маршруты к сервисам, а не к модулям. Если у вас есть служба балансировки нагрузки для вашего Ingress-контроллера, вы должны иметь возможность предоставлять доступ к своим приложениям. Вот инструкции по установке.

P.S. Вам не обязательно нужен обратный прокси-сервер для предоставления доступа к вашим сервисам извне. Вы можете сделать это с помощью сервисов NodePort.

P.S.2 Если вам нужны более сложные правила и требования к маршрутизации, я настоятельно рекомендую ознакомиться с Ambassador.

Комментарии:

1. Спасибо, что поделились своими мыслями. Но в Hyperledger Fabric службы предоставляют разные порты для разных протоколов. Каждая служба имеет по крайней мере три открытых порта. Сервисы работают по протоколу TCP и grpc. Не уверен, как это будет работать с Nodeport, поскольку это может привести к путанице при предоставлении доступа к каждому порту для всех служб.