[kubeadm control plane] Scale up / Scale down #2241
Labels
area/control-plane
Issues or PRs related to control-plane lifecycle management
kind/feature
Categorizes issue or PR as related to a new feature.
lifecycle/active
Indicates that an issue or PR is actively being worked on by a contributor.
priority/important-soon
Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone
User Story
KubeadmControlPlane should be able to scale a control plane up and down.
Detailed Description
Scale up and scale down means modifying the number of replicas on a KubeadmControlPlane object. This will cause the controller to remove or add members. In the case of remove it will remove the oldest members first. This was selected as the best option as it synergizes with upgrades that can use the age of nodes to schedule updates.
Scale up and scale down will require all control plane nodes and etcd members to be healthy. However, we can make no guarantees. This will be a best effort. By the time the health check is done, the nodes could have crashed and we would still think they are healthy.
etcd health is defined as:
control plane health as defined as:
This can be achieved by:
This will be sufficient for the initial draft. Following after the initial draft we will add the additional checks to the control plane.
For the future, we can consider a smart scale down operation that targets an unhealthy node if one exists. But for the sake of initial implementation we are doing the easiest thing which is to make sure everything is healthy and then pick the oldest node.
/kind feature
/area control-plane
/assign @dlipovetsky
/milestone v0.3.0
/lifecycle active
/priority important-soon
The text was updated successfully, but these errors were encountered: