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

Removing CEP status subresource #15153

Closed
Weil0ng opened this issue Mar 1, 2021 · 1 comment · Fixed by #15632
Closed

Removing CEP status subresource #15153

Weil0ng opened this issue Mar 1, 2021 · 1 comment · Fixed by #15632
Assignees
Labels
kind/feature This introduces new functionality.

Comments

@Weil0ng
Copy link
Contributor

Weil0ng commented Mar 1, 2021

Proposal / RFE

Is your feature request related to a problem?
Ciliumendpoints object update seems to put some scalability limitations. Each CEP today requires at least 1 CREATE and 1 UPDATE request to k8s api-server. Given that all CEPs are watched by all Cilium-agents, this translates to 2*#Nodes watch event per CEP even if they are completely static (no updates after creation). In an environment with lots of nodes and some amount of pod churn, this alone can overload api-server.

With our test on GKE, for 1k node with a pod churn rate of 30, we observe for each CEP, 1 CREATE and 2 UPDATE requests (one that updates the status to wait-for-identity, the other to ready). The watch event is estimated to be roughly 90k/s in this case, which would overwhelm a n1-standard-96 master.

Describe the solution you'd like
We'd like to trim down the CEP updates by removing the status subresource completely and only create CEP when all required info is gathered (IP, identity, etc.). This should allow us to scale better in short-term.

@Weil0ng Weil0ng added the kind/feature This introduces new functionality. label Mar 1, 2021
@Weil0ng Weil0ng self-assigned this Mar 1, 2021
@Weil0ng
Copy link
Contributor Author

Weil0ng commented Mar 1, 2021

his was discussed both on slack with @aanm and @tgraf , as well as proposed in 03/01/2021 dev meeting (there's a bit more context in the meeting notes too).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature This introduces new functionality.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant