Azure アプリケーション ゲートウェイを別の名前空間のサービスにルーティングするにはどうすればよいですか?

Azure アプリケーション ゲートウェイを別の名前空間のサービスにルーティングするにはどうすればよいですか?

Azure アプリケーション ゲートウェイ用の Ingress。内部で 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 は productnamespace にあります。istio-gateway のポート転送を行うと、製品ページにアクセスできるようになりました。つまり、istio ゲートウェイは正常です。

しかし、Azure App Gateway イングレスから Istio-Gateway イングレスへのルートは失敗します。

イベントでは以下のように表示されます。

istio-system ではなく productnamespace で istio-gateway を検索しようとして失敗します。

異なる名前空間イベント

関連情報