-
Notifications
You must be signed in to change notification settings - Fork 11
Research and implement a MVP for cluster autoscaling #45
Copy link
Copy link
Open
Labels
S1High impact on the end user ; this issue must be addressed as soon as possible.High impact on the end user ; this issue must be addressed as soon as possible.area/k0sRelated to k0s and k0sctl/cfctl features.Related to k0s and k0sctl/cfctl features.kind/enhancementIndicates new feature requests.Indicates new feature requests.status/acknowledgedIssue has been taken in account by the core team, but no planning is set.Issue has been taken in account by the core team, but no planning is set.
Metadata
Metadata
Labels
S1High impact on the end user ; this issue must be addressed as soon as possible.High impact on the end user ; this issue must be addressed as soon as possible.area/k0sRelated to k0s and k0sctl/cfctl features.Related to k0s and k0sctl/cfctl features.kind/enhancementIndicates new feature requests.Indicates new feature requests.status/acknowledgedIssue has been taken in account by the core team, but no planning is set.Issue has been taken in account by the core team, but no planning is set.
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:
cfctlcould be the answer.Therefore, we should combine these two features. Because
cfctlis similar to ourAnsible.cfctl, how to create nodes on Exoscale.cfctl apply(or whatever).To add more details, here is the join mechanism for k0s:
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.sudo k0s install worker --token-file /path/to/token/file.sudo k0s start.Ejecting a node is also easy: Cordon + Drain + Kubectl delete node. Then delete the VM.
This feature will certainly take time.