Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cleanup: do not need to generate kubeadm config and kubelet service file when upgrading the k8s cluster #1357

Merged
merged 1 commit into from
Jun 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 6 additions & 46 deletions pkg/kubernetes/tasks.go
Original file line number Diff line number Diff line change
Expand Up @@ -663,12 +663,11 @@ func (u *UpgradeKubeMaster) Execute(runtime connector.Runtime) error {
if err := SetKubeletTasks(runtime, u.KubeAction); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("set kubelet failed: %s", host.GetName()))
}

if _, err := runtime.GetRunner().SudoCmd("systemctl daemon-reload && systemctl restart kubelet", true); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("restart kubelet failed: %s", host.GetName()))
}

time.Sleep(30 * time.Second)
time.Sleep(10 * time.Second)
return nil
}

Expand All @@ -683,7 +682,7 @@ func (u *UpgradeKubeWorker) Execute(runtime connector.Runtime) error {
if _, err := runtime.GetRunner().SudoCmd("/usr/local/bin/kubeadm upgrade node", true); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("upgrade node using kubeadm failed: %s", host.GetName()))
}
if _, err := runtime.GetRunner().SudoCmd("systemctl daemon-reload && systemctl stop kubelet", true); err != nil {
if _, err := runtime.GetRunner().SudoCmd("systemctl stop kubelet", true); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("stop kubelet failed: %s", host.GetName()))
}
if err := SetKubeletTasks(runtime, u.KubeAction); err != nil {
Expand All @@ -692,6 +691,8 @@ func (u *UpgradeKubeWorker) Execute(runtime connector.Runtime) error {
if _, err := runtime.GetRunner().SudoCmd("systemctl daemon-reload && systemctl restart kubelet", true); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("restart kubelet failed: %s", host.GetName()))
}
time.Sleep(10 * time.Second)

if err := SyncKubeConfigTask(runtime, u.KubeAction); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("sync kube config to worker failed: %s", host.GetName()))
}
Expand All @@ -700,14 +701,6 @@ func (u *UpgradeKubeWorker) Execute(runtime connector.Runtime) error {

func KubeadmUpgradeTasks(runtime connector.Runtime, u *UpgradeKubeMaster) error {
host := runtime.RemoteHost()
generateKubeadmConfig := &task.RemoteTask{
Name: "GenerateKubeadmConfig",
Desc: "Generate kubeadm config",
Hosts: []connector.Host{host},
Prepare: new(NotEqualDesiredVersion),
Action: &GenerateKubeadmConfig{IsInitConfiguration: true},
Parallel: false,
}

kubeadmUpgrade := &task.RemoteTask{
Name: "KubeadmUpgrade",
Expand All @@ -730,7 +723,6 @@ func KubeadmUpgradeTasks(runtime connector.Runtime, u *UpgradeKubeMaster) error
}

tasks := []task.Interface{
generateKubeadmConfig,
kubeadmUpgrade,
copyKubeConfig,
}
Expand All @@ -752,22 +744,15 @@ type KubeadmUpgrade struct {
func (k *KubeadmUpgrade) Execute(runtime connector.Runtime) error {
host := runtime.RemoteHost()
if _, err := runtime.GetRunner().SudoCmd(fmt.Sprintf(
"timeout -k 600s 600s /usr/local/bin/kubeadm upgrade apply -y %s --config=/etc/kubernetes/kubeadm-config.yaml "+
"timeout -k 600s 600s /usr/local/bin/kubeadm upgrade apply %s -y "+
"--ignore-preflight-errors=all "+
"--allow-experimental-upgrades "+
"--allow-release-candidate-upgrades "+
"--etcd-upgrade=false "+
"--certificate-renewal=true "+
"--force",
"--certificate-renewal=true ",
k.KubeConf.Cluster.Kubernetes.Version), false); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("upgrade master failed: %s", host.GetName()))
}

if _, err := runtime.GetRunner().SudoCmd("systemctl daemon-reload && systemctl restart kubelet", true); err != nil {
return errors.Wrap(errors.WithStack(err), fmt.Sprintf("restart kubelet failed: %s", host.GetName()))
}

time.Sleep(30 * time.Second)
return nil
}

Expand All @@ -783,19 +768,6 @@ func SetKubeletTasks(runtime connector.Runtime, kubeAction common.KubeAction) er
Retry: 2,
}

generateKubeletService := &task.RemoteTask{
Name: "GenerateKubeletService",
Desc: "generate kubelet service",
Hosts: []connector.Host{host},
Prepare: new(NotEqualDesiredVersion),
Action: &action.Template{
Template: templates.KubeletService,
Dst: filepath.Join("/etc/systemd/system/", templates.KubeletService.Name()),
},
Parallel: false,
Retry: 2,
}

enableKubelet := &task.RemoteTask{
Name: "EnableKubelet",
Desc: "enable kubelet service",
Expand All @@ -806,21 +778,9 @@ func SetKubeletTasks(runtime connector.Runtime, kubeAction common.KubeAction) er
Retry: 5,
}

generateKubeletEnv := &task.RemoteTask{
Name: "GenerateKubeletEnv",
Desc: "generate kubelet env",
Hosts: []connector.Host{host},
Prepare: new(NotEqualDesiredVersion),
Action: new(GenerateKubeletEnv),
Parallel: false,
Retry: 2,
}

tasks := []task.Interface{
syncKubelet,
generateKubeletService,
enableKubelet,
generateKubeletEnv,
}

for i := range tasks {
Expand Down
9 changes: 5 additions & 4 deletions pkg/pipelines/create_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ package pipelines
import (
"encoding/base64"
"fmt"
"io/ioutil"
"path/filepath"

kubekeyapiv1alpha2 "github.com/kubesphere/kubekey/apis/kubekey/v1alpha2"
"github.com/kubesphere/kubekey/pkg/artifact"
"github.com/kubesphere/kubekey/pkg/bootstrap/confirm"
Expand All @@ -29,8 +32,6 @@ import (
"github.com/kubesphere/kubekey/pkg/kubernetes"
"github.com/kubesphere/kubekey/pkg/plugins"
"github.com/kubesphere/kubekey/pkg/plugins/dns"
"io/ioutil"
"path/filepath"

kubekeycontroller "github.com/kubesphere/kubekey/controllers/kubekey"
"github.com/kubesphere/kubekey/pkg/addons"
Expand Down Expand Up @@ -110,7 +111,7 @@ func NewCreateClusterPipeline(runtime *common.KubeRuntime) error {

Please check the result using the command:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}') -f
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

`)
} else {
Expand Down Expand Up @@ -200,7 +201,7 @@ func NewK3sCreateClusterPipeline(runtime *common.KubeRuntime) error {

Please check the result using the command:

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-installer -o jsonpath='{.items[0].metadata.name}') -f
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

`)
} else {
Expand Down