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

Switch to Kubernetes EndpointSlices API #10638

Open
2 tasks done
jnoordsij opened this issue Apr 19, 2024 · 2 comments
Open
2 tasks done

Switch to Kubernetes EndpointSlices API #10638

jnoordsij opened this issue Apr 19, 2024 · 2 comments
Labels
area/provider/k8s kind/enhancement a new or improved feature. priority/P2 need to be fixed in the future

Comments

@jnoordsij
Copy link
Contributor

jnoordsij commented Apr 19, 2024

Welcome!

  • Yes, I've searched similar issues on GitHub and didn't find any.
  • Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?

In my search of figuring out how exactly Service/Pod traffic is distributed, I noticed that Traefik internally uses the Kubernetes Endpoints API. As of Kubernetes 1.21, the EndpointSlices API is a stable alternative described as:

Kubernetes' EndpointSlice API provides a way to track network endpoints within a Kubernetes cluster. EndpointSlices offer a more scalable and extensible alternative to Endpoints.

Both from a performance and future-proof point of view, it might therefore be benificial to switch towards using this API.

A possible source of inspiration may be kubernetes/ingress-nginx#8890, which implemented this for (Kubernetes) NGINX.

@jnoordsij
Copy link
Contributor Author

A WIP attempt can be found at https://github.com/jnoordsij/traefik/tree/migrate-to-endpointslices. This is far from finished, not passing tests yet, but seems to be heading in the right direction. Also this should probably rebased to master.

@kevinpollet kevinpollet added kind/enhancement a new or improved feature. priority/P2 need to be fixed in the future area/provider/k8s and removed status/0-needs-triage labels Apr 22, 2024
@kevinpollet
Copy link
Member

Hello @jnoordsij,

Thanks for opening the issue,

When you have something ready feel free to open a pull request.
As this is an enhancement, the pull request has to be opened on the master branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/provider/k8s kind/enhancement a new or improved feature. priority/P2 need to be fixed in the future
Projects
None yet
Development

No branches or pull requests

3 participants