Использование одного и того же Istio GateWay с несколькими портами и протоколами

Я пытаюсь настроить istio GateWay с двумя разными протоколами (GRPC и HTTP)

Прямо сейчас у меня есть два разных шлюза по одному для GRPC и HTTP, как показано ниже

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gwgrpc
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 7878
      name: http
      protocol: GRPC
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gwrest
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 7979
      name: http
      protocol: HTTP
    hosts:
    - "*"

Можно ли использовать один и тот же шлюз с разными протоколами и портами?

2 ответа

Решение

Вы должны быть в состоянии объединить два шлюза. Единственная проблема заключается в том, что оба ваших порта имеют одинаковое имя. Нечто подобное должно работать.

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gwgrpc
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 7878
      name: grpc
      protocol: GRPC
    hosts:
    - "*"
  - port:
      number: 7979
      name: http
      protocol: HTTP
    hosts:
    - "*"

Вы можете использовать этот пример в качестве шаблона. Согласитесь с @Frank: Вам нужно сменить имя. Вот небольшая часть примера конфигурации

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: my-gateway
spec:
  selector:
    app: my-gatweway-controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - uk.bookinfo.com
    - eu.bookinfo.com
    tls:
      httpsRedirect: true # sends 301 redirect for http requests
  - port:
      number: 443
      name: https
      protocol: HTTPS
    hosts:
    - uk.bookinfo.com
    - eu.bookinfo.com
Другие вопросы по тегам