Open
Description
WHY
The Kubernetes Discovery API is used by MCAD to process generic items of AppWrappers, to convert GVKs to resources, so the dynamic REST client can be used to perform CRUD operations.
However the Kubernetes discovery API is very bursty, and calling it for each AppWrapper reconciliation cycle puts a heavy strain on the API server.
This likely contributes to client-side throttling, as observed and reported by #434.
WHAT
The usage of the discovery API should be optimised and limited.
HOW
- Consider using the aggregated discovery API: https://github.com/kubernetes/enhancements/tree/12029815f69e412c027eb5b7a8bb87b086232ab2/keps/sig-api-machinery/3352-aggregated-discovery
- Use cached discovery API implementation provided by client-go
- Or rate-limit discovery API calls and refresh discovery data periodically
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
In Review