/kpng

Reworking kube-proxy's architecture

Primary LanguageGoApache License 2.0Apache-2.0

Kubernetes Proxy NG

The Kubernetes Proxy NG a new design of kube-proxy aimed at

  • allowing Kubernetes business logic to evolve with minimal to no impact on backend implementations,
  • improving scalability,
  • improving the ability of integrate 3rd party environments,
  • being library-oriented to allow packaging logic at distributor's will,
  • provide gRPC endpoints for lean integration, extensibility and observability.

The project will provide multiple components, with the core being the API watcher that will serve the global and node-specific sets of objects.

  • More context can be found in the project's KEP.

Meetings

Americas

APAC

How we work

The KPNG group is small but dedicated, because this is a hard project. Your first commit might take weeks or months, especially if you're new to the kube-proxy or to K8s networking. However, we will pair with people wanting to join and make an impact. We pair program every friday at our meetings, and also, informally at other times as well.

Our goal is to:

  • make the kube proxy fun to work on and easy to understand
  • make the kube proxy extensible from a command line and backend perspective
  • learn as much as we can about k8s service networking, and build an upstream community around it

And that goes for people working on KPNG especially. So don't hesitate to join us, but just be ready for a lot of work and low level troubleshooting.

KPNG News

  • ... (please MR updates here)
  • 10/15/2021: KPNG got a shoutout at the sig-network kubecon update :) thanks @bowie
  • 10/7/2021: Userspace kube proxy port nearing completion
  • 10/1/2021: Separating KPNG backends from other code so it's easy to import

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

TODO add some lines about what to find ./hack