From 788dec1a2b39afa5698b6c7ed33a70136bb88d5d Mon Sep 17 00:00:00 2001 From: Tan Guofu <87045830+tanguofu@users.noreply.github.com> Date: Fri, 22 Apr 2022 11:00:37 +0800 Subject: [PATCH 1/2] fix: fix use `systemd` as `kubelet` cgroup driver when deploy the kubesphere at the node which already exists docker that not set `systemd` as cgroup driver if use docker as container runtime, the cgroup driver between `docker` and `kubelet` must be same. --- pkg/kubernetes/templates/v1beta2/kubeadm_config.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pkg/kubernetes/templates/v1beta2/kubeadm_config.go b/pkg/kubernetes/templates/v1beta2/kubeadm_config.go index cabe2e84..12aef6fa 100644 --- a/pkg/kubernetes/templates/v1beta2/kubeadm_config.go +++ b/pkg/kubernetes/templates/v1beta2/kubeadm_config.go @@ -311,10 +311,12 @@ func GetKubeletCgroupDriver(runtime connector.Runtime, kubeConf *common.KubeConf if err != nil { return "", errors.Wrap(errors.WithStack(err), "Failed to get container runtime cgroup driver.") } - if strings.Contains(checkResult, "systemd") || !strings.Contains(checkResult, "false") { + if strings.Contains(checkResult, "systemd") || strings.Contains(checkResult, "SystemdCgroup = true") { kubeletCgroupDriver = "systemd" - } else { + } else if strings.Contains(checkResult, "cgroupfs") || strings.Contains(checkResult, "SystemdCgroup = false") { kubeletCgroupDriver = "cgroupfs" + } else { + return "", errors.Errorf("Failed to get container runtime cgroup driver from %s by run %s", checkResult, cmd) } return kubeletCgroupDriver, nil } From 8bb495760f37675ff2cbce3ba8e515e75a27ea22 Mon Sep 17 00:00:00 2001 From: guofutan Date: Fri, 22 Apr 2022 21:19:45 +0800 Subject: [PATCH 2/2] fix: remove awk to judge the cgroup driver Signed-off-by: guofutan --- pkg/kubernetes/templates/v1beta2/kubeadm_config.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/kubernetes/templates/v1beta2/kubeadm_config.go b/pkg/kubernetes/templates/v1beta2/kubeadm_config.go index 12aef6fa..a024049e 100644 --- a/pkg/kubernetes/templates/v1beta2/kubeadm_config.go +++ b/pkg/kubernetes/templates/v1beta2/kubeadm_config.go @@ -296,13 +296,13 @@ func GetKubeletCgroupDriver(runtime connector.Runtime, kubeConf *common.KubeConf var cmd, kubeletCgroupDriver string switch kubeConf.Cluster.Kubernetes.ContainerManager { case common.Docker, "": - cmd = "docker info | grep 'Cgroup Driver' | awk -F': ' '{ print $2; }'" + cmd = "docker info | grep 'Cgroup Driver'" case common.Crio: - cmd = "crio config | grep cgroup_manager | awk -F'= ' '{ print $2; }'" + cmd = "crio config | grep cgroup_manager" case common.Conatinerd: - cmd = "containerd config dump | grep SystemdCgroup | awk -F'= ' '{ print $2; }'" + cmd = "containerd config dump | grep SystemdCgroup" case common.Isula: - cmd = "isula info | grep 'Cgroup Driver' | awk -F': ' '{ print $2; }'" + cmd = "isula info | grep 'Cgroup Driver'" default: kubeletCgroupDriver = "" }