How can I configure a global rate limiter in Istio using ingress-nginx instead of Istio's Ingress gateway?

Viewed 9

I've configured a cluster with Istio and ingress-nginx as described here. I have allowed all inbound traffic in the ingress controller pods, so I'm bypassing istio-proxy sidecar rules (using the traffic.sidecar.istio.io/includeInboundPorts: "" annotation).

In Istio's documentation there's an article on global rate limiting configuration, but it considers Istio Gateway as the entry of the service mesh and uses the context GATEWAY in the Envoy Filter for such configuration. I have tried using the same GATEWAY context but I don't think that applies to my configuration. My question is: how do I configure global rate limiting using ingress-nginx controller?

The best solution I have found so far is to use a local rate limit filter on the ingress controllers's sidecars outbound, but that would mean that rate limiting would be applied by ingress controller pod.

Any ideas?

0 Answers
Related