未验证 提交 02bd568e 编写于 作者: M Medya Ghazizadeh 提交者: GitHub

Merge pull request #10926 from prezha/fix-node-drain-timeout

add additional options to avoid node drain or delete getting stuck
......@@ -108,7 +108,7 @@ func drainNode(cc config.ClusterConfig, name string) (*config.Node, error) {
// ref: https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#drain
kubectl := kapi.KubectlBinaryPath(cc.KubernetesConfig.KubernetesVersion)
cmd := exec.Command("sudo", "KUBECONFIG=/var/lib/minikube/kubeconfig", kubectl, "drain", m,
"--force", "--grace-period=1", "--disable-eviction", "--ignore-daemonsets", "--delete-emptydir-data")
"--force", "--grace-period=1", "--skip-wait-for-delete-timeout=1", "--disable-eviction", "--ignore-daemonsets", "--delete-emptydir-data", "--delete-local-data")
if _, err := runner.RunCmd(cmd); err != nil {
klog.Warningf("unable to drain node %q: %v", name, err)
} else {
......@@ -121,10 +121,14 @@ func drainNode(cc config.ClusterConfig, name string) (*config.Node, error) {
return n, err
}
err = client.CoreV1().Nodes().Delete(context.Background(), m, v1.DeleteOptions{})
// set 'GracePeriodSeconds: 0' option to delete node immediately (ie, w/o waiting)
var grace *int64
err = client.CoreV1().Nodes().Delete(context.Background(), m, v1.DeleteOptions{GracePeriodSeconds: grace})
if err != nil {
klog.Errorf("unable to delete node %q: %v", name, err)
return n, err
}
klog.Infof("successfully deleted node %q", name)
cc.Nodes = append(cc.Nodes[:index], cc.Nodes[index+1:]...)
return n, config.SaveProfile(viper.GetString(config.ProfileName), &cc)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册