kubernetes-sigs/kubespray

Refactor node-local control plane loadbalancer

Open

#12,631 opened on Oct 16, 2025

View on GitHub
 (2 comments) (0 reactions) (1 assignee)HTML (10,380 stars) (4,419 forks)batch import
good first issuehelp wantedkind/cleanup

Description

What would you like to be added

We currently have 3 implementations for node-local LB to the control plane (HA endpoint for kubelet to talks to the control plane).

  • nginx
  • haproxy
  • kube-vip

I'm not sure if we need that much choice and what this actually brings, besides more complexity.

I propose to keep only one option, and furthemore investigate if we have to use static pods or can use a daemonset (probably not, I think kubeadm needs access to the control plane during node join). Ideally, the chosen implementation should have a superset of the features of the other.

The relevant code and template are in roles/kubernetes/node/{tasks/main.yml,templates/}.

If the different options do have non-overlapping interesting features, please speak up.

Why is this needed

Reduce maintenance and complexity.

/help /good-first-issue

Contributor guide