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

Feature: Kubernetes endpointslices to scale-out #2565

Merged
merged 1 commit into from Sep 18, 2023

Conversation

szuecs
Copy link
Member

@szuecs szuecs commented Sep 1, 2023

Feature: Kubernetes endpointslices to scale out services to more than 1000 pods
Related risk: #427

@szuecs
Copy link
Member Author

szuecs commented Sep 8, 2023

Rebased and squashed most of the commits. Not sure if the refactoring commits are better to split out, but I can also rebase it into a single commit for the release notes.
wdyt @AlexanderYastrebov what would fit better the release notes workflow?

I am also thinking about changing VERSION to the next minor version, because of the importance of this change for kubernetes control plane.

@ThorbjoernG
Copy link
Member

It's a pretty big change that touches some key features. I would be in favor of breaking it up into smaller changes and rolling out iterative.
changing the VERSION sounds reasonable.

@szuecs
Copy link
Member Author

szuecs commented Sep 11, 2023

Splitting is not really possible. Test coverage is ~90% and deployment will be validated before rollout.
See also zalando-incubator/kubernetes-on-aws#6434 which will deploy the new feature as shadow stack and we can validate that we get the same results before rolling out to production.

@szuecs
Copy link
Member Author

szuecs commented Sep 12, 2023

CodeQL says:

RequestError [HttpError]: API rate limit exceeded for installation ID 5260298. If you reach out to GitHub Support for help, please include the request ID 6463:243E:62D4D2:663DDE:65005276.

@AlexanderYastrebov
Copy link
Member

Rebased on top of master

AlexanderYastrebov added a commit that referenced this pull request Sep 13, 2023
… port

For #2565

Signed-off-by: Alexander Yastrebov <alexander.yastrebov@zalando.de>
AlexanderYastrebov added a commit that referenced this pull request Sep 18, 2023
… port

For #2565

Signed-off-by: Alexander Yastrebov <alexander.yastrebov@zalando.de>
@szuecs
Copy link
Member Author

szuecs commented Sep 18, 2023

Test runs comparing 200 clusters showed that the change seems to be creating the same routes.
Also >1000 endpoints via endpointslices were tested successfully.

@szuecs
Copy link
Member Author

szuecs commented Sep 18, 2023

👍

1 similar comment
@AlexanderYastrebov
Copy link
Member

👍

increase minor version because of the importance of the change and the required RBAC clusterrole change

refactor: split out endpointslices and endpoints from ingress definitions
refactor: split out non service resources and rename file
refactor: value receiver -> ptr receiver
doc: -enable-kubernetes-endpointslices=true to enable EndpointSlices to scale out more than 1000 endpoints
doc: change RBAC clusterroles to reflect the endpointslices change
test: add coverage for Targets()
test: dataclients/kubernetes add failing testcase for named service target port
fix: empty port name is fine, because if so there is only one allowed by kubernetes itself, otherwise port has a mandatory name

Signed-off-by: Alexander Yastrebov <alexander.yastrebov@zalando.de>
Signed-off-by: Sandor Szücs <sandor.szuecs@zalando.de>
@szuecs
Copy link
Member Author

szuecs commented Sep 18, 2023

👍

1 similar comment
@AlexanderYastrebov
Copy link
Member

👍

@szuecs szuecs merged commit ce18cd9 into master Sep 18, 2023
11 checks passed
@szuecs szuecs deleted the feature/endpointslices branch September 18, 2023 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants