serving icon indicating copy to clipboard operation
serving copied to clipboard

Remove configurations of inactive revision's services from istio-proxy for memory efficiency

Open eddy-oum opened this issue 1 year ago • 0 comments

Describe the feature

Remove configurations of inactive revision's services from istio-proxy, via istio's exportTo feature.

A revision creates two kubernetes services (rev-00001, rev-00001-private), and both services are discovered by the istio-ingressgateway's istio-proxy in namespace istio-system. Even when the revisions are inactive, and not accepting traffic, istio-proxy still holds the configuration in the memory. This can lead to scaling issues when there are many knative services and inactive revisions in a single cluster.

We can remove the endpoint configuration from istio-proxy by annotating the inactive revision's service with networking.istio.io/exportTo: "no-such-ns" (https://istio.io/latest/docs/ops/configuration/mesh/configuration-scoping/#exportto), and remove the annotation when the revision is active again.

eddy-oum avatar Aug 08 '24 08:08 eddy-oum