k0sproject / k0s

k0s - The Zero Friction Kubernetes
https://docs.k0sproject.io
Other
3.42k stars 353 forks source link

Document how to "join" controllers when external etcd is used #4311

Open twz123 opened 4 months ago

twz123 commented 4 months ago

When using external etcd, k0s refuses to create controller join tokens:

$ k0s token create --role controller
Error: refusing to create token: cannot join controller into current storage 

This is because join tokens aren't needed in this case. Just spin up another controller with the same config and that's it.

This needs to be documented somewhere, and the CLI error message might be more helpful. It might even include a link to the (not yet existing) documentation for this.

twz123 commented 4 months ago

As an adjacent observation, k0s allows join tokens for external MySQL or Postgres databases via kine. The situation for those storage types seems to be essentially the same as for external etcd. So I wonder if it would make more sense to simply allow join tokens for external etcd as well, or also refusing to create join tokens for any non-internal-etcd storage.

jnummelin commented 4 months ago

So I wonder if it would make more sense to simply allow join tokens for external etcd as well

IMO this would make sense

github-actions[bot] commented 3 months ago

The issue is marked as stale since no activity has been recorded in 30 days

jnummelin commented 3 months ago

This is because join tokens aren't needed in this case

They are needed. Through the k0s join api, authorized via the token, the other controllers get the shared CA etc. files

github-actions[bot] commented 2 months ago

The issue is marked as stale since no activity has been recorded in 30 days

github-actions[bot] commented 1 month ago

The issue is marked as stale since no activity has been recorded in 30 days

github-actions[bot] commented 1 week ago

The issue is marked as stale since no activity has been recorded in 30 days