machine-controller-manager
machine-controller-manager copied to clipboard
Machine deployment to ignore draining of machines on RECREATE strategy
Issue
MCM supports RECREATE
strategy like the pod deployments, however it doesn't forcefully delete the machine and waits for the drain to go through.
Solution
- [ ] Modify above mentioned logic to allow forceful deletion of machines in cases where workloads running on the machines don't matter for upgrades. Using the
RECREATE
strategy in the spec. - [ ] Expose this field into the worker pools on the Gardener
Grooming Discussion
We feel it could be useful in case of a machineDeployment for spot instances where the user would like to switch to a new type of spot instance quickly and doesn't care much about graceful draining of its workload.
Maybe we could provide two types of RECREATE
- with force delete
- without force delete
Grooming Discussion Results
- The basic idea behind this feature is that the
MachineDeploymentStrategyType
ofRecreate
should do its job fast. Right now the deployment just changes the replica count of the machine sets associated with the machine deployment and the conventional drain logic occurs. We want theForceDeletePods
option of the drain logic triggered so that the pods are deleted without doing pod eviction or even honouring any PDB's . We might even possibly consider to directly delete the Node and let the pod deletion be handled by k8s. - The
Recreate
strategy of rolling update could be the main update strategy for Spot instances.