Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only create dynamic_active_clusters for Services and Upstreams that are referenced by routes #10639

Open
DuncanDoyle opened this issue Feb 17, 2025 · 0 comments
Labels
Type: Enhancement New feature or request

Comments

@DuncanDoyle
Copy link
Collaborator

kgateway version

1.18.4

Is your feature request related to a problem? Please describe.

Currently, Envoy dynamic_active_clusters are created for every Upstream and every Kubernetes Services that is watched by the control plane. Often a lot of these clusters are actually not referenced by routes, but are still part of the xDS snapshot and the the proxy's configuration. This has performance impact on translation, xds sync, and the proxy's memory consumption. Furthermore, useless metrics are created for all these dynamic_active_clusters as they are not being used by any route configured on the proxy

Describe the solution you'd like

We should only create dynamic_active_clusters for Upstreams and Services in an Envoy proxy's configuration when that given proxy contains routes that reference these Upstreams and Services.

Describe alternatives you've considered

In Gloo Edge, we have the disableKubernetesDestinations: true setting that prevents dynamic_active_clusters to be automatically created for Kubernetes Services. Since Gloo Gateway/KGateway 1.18, this feature no longer works for Kubernetes Gateway API based gateway-proxies.

Additional Context

n.a.

@DuncanDoyle DuncanDoyle added the Type: Enhancement New feature or request label Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant