k0sctl icon indicating copy to clipboard operation
k0sctl copied to clipboard

Question: Is it possible to add additional control plane nodes after initializing the k0s cluster?

Open vyas-n opened this issue 1 year ago • 3 comments

Hey Folks,

I currently have a k0s cluster deployed using k0sctl with the following topology:

  • node1 (controller+worker)
  • node2 (worker)
  • node3 (worker)

And I wondered if it's possible to add the following nodes to make the control plane HA:

  • node4 (controller)
  • node5 (controller)

I've previously added worker nodes this way no problem, I just don't know if control plane nodes can be joined the same way.

Is this possible using k0sctl?

vyas-n avatar May 28 '24 18:05 vyas-n

It should be, but there is a bug that may prevent doing so in some conditions which will be fixed by #714

kke avatar May 29 '24 06:05 kke

NB: If you're going from single-node control plane to HA control plane, you need to have some sort of load balancing in place, then, and a restart of all workers (including the controller+worker) node is required to pick that up (in case of NLLB). In case of using spec.api.externalAddress, it might even be necessary to rejoin the workers, or manually adjust the k0s worker's kubeconfig files, to point to the new address.

twz123 avatar May 29 '24 15:05 twz123

Hmm, maybe some of those could/should be automated or at least detected in k0sctl?

kke avatar May 30 '24 11:05 kke