Исходя из этого проблема github
Имена портов шлюза должны быть уникальными, если они совместно используют один и тот же порт. Это единственный способ, которым мы различаем различные блоки RDS. Мы прошли через это движение и раньше. Я не стал бы раскачивать эту лодку без крайней необходимости.
Подробнее о проблеме здесь
Проверено на Документация istio , и на самом деле, если вы настраиваете несколько шлюзов, имя первого - https, а второе - https-bookinfo.
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: httpbin-gateway
spec:
selector:
istio: ingressgateway # use istio default ingress gateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
privateKey: /etc/istio/ingressgateway-certs/tls.key
hosts:
- "httpbin.example.com"
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
selector:
istio: ingressgateway # use istio default ingress gateway
servers:
- port:
number: 443
name: https-bookinfo
protocol: HTTPS
tls:
mode: SIMPLE
serverCertificate: /etc/istio/ingressgateway-bookinfo-certs/tls.crt
privateKey: /etc/istio/ingressgateway-bookinfo-certs/tls.key
hosts:
- "bookinfo.com"
РЕДАКТИРОВАТЬ
Это странно, но у меня есть еще одна идея.
Существует github pull , у которого в пилоте следующая строка:
routeName := gatewayRDSRouteName(s, config.Namespace)
This изменение добавляет область видимости пространства имен к именам портов шлюза, добавляя суффикс пространства имен к маршрутам HTTPS RDS. Имена портов по-прежнему должны быть уникальными в пределах границ пространства имен, но это изменение делает добавление более специфичных c областей видимости довольно тривиальным.
Не могли бы вы попробовать сделать 2 пространства имен, как показано в примере ниже
ПРИМЕР
apiVersion: v1
kind: Namespace
metadata:
name: httpbin
labels:
name: httpbin
istio-injection: enabled
---
apiVersion: v1
kind: Namespace
metadata:
name: nodejs
labels:
name: nodejs
istio-injection: enabled
И развернуть все (развертывание, служба, виртуальная служба, шлюз) в надлежащем пространстве имен и сообщить мне, если это работает?
Не могли бы вы попробовать изменить хосты с "*" на несколько имен? Это единственное, что пришло мне в голову, кроме попыток serverCertficate и privateKey, но из комментариев я предполагаю, что вы уже пробовали это.
Дайте мне знать, если это поможет.