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

Decomposing the Kubernetes Service API #288

Open
shaneutt opened this issue Oct 4, 2024 · 1 comment
Open

Decomposing the Kubernetes Service API #288

shaneutt opened this issue Oct 4, 2024 · 1 comment
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@shaneutt
Copy link
Member

shaneutt commented Oct 4, 2024

The Kubernetes Service API is notable for having a wide scope with many different faucets, and where a lot of networking functionality in Kubernetes has historically converged. Consequently (and detrimentally) in upstream Kubernetes there is very strong resistance to changing or adding anything on top of it (understandably).

Blixt has been existing as a place to experiment and try new things, and to this end the purpose of this issue is to propose that we try and decompose the Service API into the constituent underlying things it currently performs all-in-one. Those things include (but are not necessarily limited to):

  • IPAM
  • DNS
  • Routing
  • Load-Balancing

Ideally the result of this feature would be to have new APIs that solve at least each of the above problems separately, and subsequently can then be composed into a replacement for Service. Afterwards we should retrofit our Service implementation such that creating a Service no longer has it's own implementation, but instead the controller would just assemble these composable pieces together to provide the same functionality.

@shaneutt shaneutt added triage/needs-information Indicates an issue needs more information in order to work on it. kind/feature Categorizes issue or PR as related to a new feature. labels Oct 4, 2024
@shaneutt
Copy link
Member Author

We talked about this in a sync, and we're up for doing this experiment.

/triage accepted

In the past we haven't done full on proposals in Blixt, for this one we want to create a new collaborative proposal so we'll need to put together a proposal process. We should go as lightweight as possible (probably just follow the Gateway Enhancement Proposal (GEP) process lightly). Sanskar and I are going to pair up to bootstrap this.

/assign @aryan9600 @shaneutt

This one will get it's own milestone, so will be on hold now while we finish up some of the preceeding milestones.

/hold
/blocked

@k8s-ci-robot k8s-ci-robot added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Oct 29, 2024
@shaneutt shaneutt removed the triage/needs-information Indicates an issue needs more information in order to work on it. label Oct 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
Development

No branches or pull requests

3 participants