diff --git a/cmd/kk/pkg/bootstrap/os/module.go b/cmd/kk/pkg/bootstrap/os/module.go index 158e659a..ef34ae4e 100644 --- a/cmd/kk/pkg/bootstrap/os/module.go +++ b/cmd/kk/pkg/bootstrap/os/module.go @@ -103,6 +103,15 @@ type ClearNodeOSModule struct { func (c *ClearNodeOSModule) Init() { c.Name = "ClearNodeOSModule" + stopKubelet := &task.RemoteTask{ + Name: "StopKubelet", + Desc: "Stop Kubelet", + Hosts: c.Runtime.GetHostsByRole(common.Worker), + Prepare: new(DeleteNode), + Action: new(StopKubelet), + Parallel: true, + } + resetNetworkConfig := &task.RemoteTask{ Name: "ResetNetworkConfig", Desc: "Reset os network config", @@ -131,6 +140,7 @@ func (c *ClearNodeOSModule) Init() { } c.Tasks = []task.Interface{ + stopKubelet, resetNetworkConfig, removeFiles, daemonReload, diff --git a/cmd/kk/pkg/bootstrap/os/tasks.go b/cmd/kk/pkg/bootstrap/os/tasks.go index 893ae36d..f4a41ece 100644 --- a/cmd/kk/pkg/bootstrap/os/tasks.go +++ b/cmd/kk/pkg/bootstrap/os/tasks.go @@ -197,6 +197,15 @@ func (r *ResetNetworkConfig) Execute(runtime connector.Runtime) error { return nil } +type StopKubelet struct { + common.KubeAction +} + +func (s *StopKubelet) Execute(runtime connector.Runtime) error { + _, _ = runtime.GetRunner().SudoCmd("systemctl disable kubelet && systemctl stop kubelet && exit 0", false) + return nil +} + type UninstallETCD struct { common.KubeAction }