Skip to content

Research and implement a MVP for cluster autoscaling #45

@Darkness4

Description

@Darkness4

Let's focus on Exoscale and a single availability group first.

There are multiple solutions, but this is my proposition. The idea is based on Slurm cloud-bursting. We need to solve two problems:

  1. How to spawn VM which will join a private network? The private repository with Ansible can help us.
  2. How to make the VM join the cluster? cfctl could be the answer.

Therefore, we should combine these two features. Because cfctl is similar to our Ansible.

To add more details, here is the join mechanism for k0s:

  1. On a controller node, call k0s token create --role=worker, this will create a join token. For extra security, the token must have an expiration time: k0s token create --role=worker --expiry=1h.
  2. On the new virtual machine, via SSH, install k0s and call sudo k0s install worker --token-file /path/to/token/file.
  3. Then start: sudo k0s start.

Ejecting a node is also easy: Cordon + Drain + Kubectl delete node. Then delete the VM.

This feature will certainly take time.

Metadata

Metadata

Labels

S1High impact on the end user ; this issue must be addressed as soon as possible.area/k0sRelated to k0s and k0sctl/cfctl features.kind/enhancementIndicates new feature requests.status/acknowledgedIssue has been taken in account by the core team, but no planning is set.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions