I have a cluster that use Nginx Ingress and , and enabled auto MTLS for all services.
The internal services are all communicated fine with MTLS enabled and proper Peer Authentication policy applied, but i got an issue specifically for this communication link.
–> AWS ALB ----> Nginx Ingress Controller ----> Service
Namespaces
default (injected with envoy sidecar). Applied with Peer Authentication Policy
nginx-ingress (injected with envoy sidecar). No Policy applied
AFAIK this annotation is used to tell istio gateway controller that it should this ingress.(if you want to use k8s ingress with istio.)
means which controller handle this ingress. if you mention ingress then may be you can’t access the services in the sevices mesh.
I am facing the exact challenge. I have managed to inject Istio sidecars to Ingress NGINX pods, have used the upstream and vhost annotations to get the ingress-to-service traffic to flow through the mesh with mTLS, but for other services this won’t work as we can have only one such annotation. I thought I could use NGINX’s VirtualServer, as per this guide (I had a link here but this page does not allow me to post comment with links WTF?), but this seems to define one host as well.
I guess I could use multiple Ingress definitions, but this beats the whole purpose of using an Ingress.
Any solutions to this or ideas how to overcome that?