Skip to content
This repository has been archived by the owner on Jul 11, 2023. It is now read-only.

Optimize announcement channels and XDS config push in osm-controller #1913

Closed
shashankram opened this issue Oct 26, 2020 · 2 comments · Fixed by #1957, #2003, #2010, #2028 or #2032
Closed

Optimize announcement channels and XDS config push in osm-controller #1913

shashankram opened this issue Oct 26, 2020 · 2 comments · Fixed by #1957, #2003, #2010, #2028 or #2032
Assignees
Labels
kind/enhancement priority/P1 P1 priority size/XXL 40 days (2 months)
Milestone

Comments

@shashankram
Copy link
Member

Please describe the Improvement and/or Feature Request
In the current implementation of how announcements from various components are acted upon, mesh-catalog in osm-controller implements functionality to listen for events from components (KubeController, MeshSpec, Configurator etc.) and broadcasts these events to connected Envoy proxies via XDS. All events are treated the same, which will result in performance issues where there are a large number of connected proxies being updated periodically even when they don't have to.

For example, enabling the debug server from the osm-config ConfigMap will result in generating and pushing Envoy configurations to all connected proxies, which does not make sense from a scalability and performance perspective.

Scope (please mark with X where applicable)

  • New Functionality [ ]
  • Install [ ]
  • SMI Traffic Access Policy [ ]
  • SMI Traffic Specs Policy [ ]
  • SMI Traffic Split Policy [ ]
  • Permissive Traffic Policy [ ]
  • Ingress [ ]
  • Egress [ ]
  • Envoy Control Plane [X]
  • CLI Tool [ ]
  • Metrics [ ]
  • Certificate Management [ ]
  • Sidecar Injection [ ]
  • Logging [ ]
  • Debugging [ ]
  • Tests [ ]
  • CI System [ ]
  • Project Release [ ]

Possible use cases
The purpose of this issue is to propose a different model to generate and push Envoy configurations to connected proxies based on more context, rather than doing so on any announcements that the catalog subscribes to.

@eduser25
Copy link
Contributor

#2220, #2308 and #2086 have largely fixed this for most configmap related events (config toggles to debug server, tracing configs and whatnot).

Follow up work will address identifying delta changes on mesh-specific events (pods, services, smi, etc) and be able to propagate updates to relevant proxies, whose solution I believe will align with other performance issues open, such as #1958.

@snehachhabria snehachhabria added size/XXL 40 days (2 months) and removed size/M 7 days (~1.5 week) labels Feb 11, 2021
@snehachhabria
Copy link
Contributor

Most of the issues related to this are already resolved (announcement channels). #1958 is a follow up

@michelleN michelleN added the priority/P1 P1 priority label Feb 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.