Мой Ingress для шлюза приложений Azure, чтобы он использовал шлюз istio внутри себя.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: server-ingress
namespace: productnamespace
annotations:
kubernetes.io/ingress.class: azure/application-gateway
appgw.ingress.kubernetes.io/backend-protocol: "http"
appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
cert-manager.io/cluster-issuer: letsencrypt-prod
appgw.ingress.kubernetes.io/health-probe-status-codes: "200-399, 401, 403"
spec:
tls:
- hosts:
- dev1.myproductnamespace.com
secretName: productnamespace-cert-secret
rules:
- host: dev1.myproductnamespace.com
http:
paths:
- path: /
pathType: Prefix
backend:
namespace: istio-system
service:
name: istio-gateway
port:
number: 80
istio-gateway находится в пространстве имен istio-system, а указанный выше ingress находится в пространстве имен product. Когда я сделал переадресацию портов для istio-gateway, он смог получить доступ к страницам продуктов. Так что шлюз istio хорош.
Но маршрут от входа шлюза приложений Azure к входу шлюза istio-gateway не работает.
В событиях это отображается следующим образом.
Он пытается найти istio-gateway в productnamespace вместо istio-system и терпит неудачу.