Open dlipovetsky opened 6 years ago
The gce and vsphere providers rely on the control plane to clean up Nodes. How this works: The node-controller and node-lifecycle-controller delete Node objects if the cloud provider says their corresponding instances are terminated. This functionality is enabled only when the control plane is running with an integrated cloud provider.
Drain
There are two options:
kubectl drain
The Eviction API is consumed as a subresource of individual Pods, which is too low-level. Support for server-side drain may eventually come. For now kubectl drain
is the only option.
The natural place for this functionality is not in the Machine Actuator, but in a MachineDeployment controller, or perhaps the Cluster Actuator.
kubeadm reset
does not drain the node. It once did, but this was removed in https://github.com/platform9/pf9-clusteradm/pull/12; some rationale can be seen in the comments to https://github.com/kubernetes/kubernetes/pull/41503.The provider must