Skip to content

Decomposing the Kubernetes Service API #288

Open
@shaneutt

Description

@shaneutt

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    Projects

    Status

    Hold

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions