k0s
k0s copied to clipboard
Document how to "join" controllers when external etcd is used
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.
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.
So I wonder if it would make more sense to simply allow join tokens for external etcd as well
IMO this would make sense
The issue is marked as stale since no activity has been recorded in 30 days
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
The issue is marked as stale since no activity has been recorded in 30 days
The issue is marked as stale since no activity has been recorded in 30 days
The issue is marked as stale since no activity has been recorded in 30 days
Through the k0s join api, authorized via the token, the other controllers get the shared CA etc. files
Unless we document that in case of external etcd, one needs to copy over the CA etc files before booting the next controller.