istio ingress を使用せずに、azure app gateway ingress を使用して mTLS を使用する方法を教えてください。

istio ingress を使用せずに、azure app gateway ingress を使用して mTLS を使用する方法を教えてください。

アプリケーションは aks クラスターで実行されており、lets encrypt 証明書生成用に別の名前空間で cert-manager helm チャートを使用しています。argocd 名前空間はデプロイメントを処理するためのものです。

mTLS を有効にする必要がありますが、そのためには istio を argocd、cert-manager 名前空間でもラベル付けする必要がありますか?

また、名前空間で実行されているデプロイメントにトラフィックをルーティングするための Azure AppGateway Ingress がすでにあるため、Istio Ingress は有効にしませんでした。

グローバル レベルで厳密なオプションを有効にすると、Azure App Gateway のイングレスからアプリケーションへのルーティングが機能しなくなります。

kubectl apply -n istio-system -f - <<EOF
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
spec:
  mtls:
    mode: STRICT
EOF

そして、502 不正なゲートウェイが発生します。

上記の peerauthentication を削除するか、それを PERMISSIVE に変更すると、502 エラーなしでページにアクセスできるようになります。

istio ingress を使用せずに厳密モードを実装するにはどうすればよいでしょうか。

kubectl edit peerauthentication -n istio-system
peerauthentication.security.istio.io/default edited

関連情報