summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShelley-BaoYue <baoyue2@huawei.com>2023-10-08 17:43:00 +0800
committerShelley-BaoYue <baoyue2@huawei.com>2023-10-20 11:39:06 +0800
commit9869009d7914bff7e517ee0df35dc7c140cde482 (patch)
tree14e8bc9f09766e4dc7260d056321c74fbec0d929
parentMerge pull request #5074 from WillardHu/automated-cherry-pick-of-#5047-upstre... (diff)
downloadkubeedge-9869009d7914bff7e517ee0df35dc7c140cde482.tar.gz
fix cgroupdriver systemd
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
-rw-r--r--edge/pkg/edgehub/upgrade/upgrade.go2
-rw-r--r--keadm/cmd/keadm/app/cmd/config.go6
-rw-r--r--keadm/cmd/keadm/app/cmd/edge/image.go2
-rw-r--r--keadm/cmd/keadm/app/cmd/edge/upgrade.go3
-rw-r--r--keadm/cmd/keadm/app/cmd/reset.go6
-rw-r--r--keadm/cmd/keadm/app/cmd/util/image.go10
6 files changed, 19 insertions, 10 deletions
diff --git a/edge/pkg/edgehub/upgrade/upgrade.go b/edge/pkg/edgehub/upgrade/upgrade.go
index a69ab9f88..a8dd19d21 100644
--- a/edge/pkg/edgehub/upgrade/upgrade.go
+++ b/edge/pkg/edgehub/upgrade/upgrade.go
@@ -112,7 +112,7 @@ func (*keadmUpgrade) Upgrade(upgradeReq *commontypes.NodeUpgradeJobRequest) erro
// install the requested installer keadm from docker image
klog.Infof("Begin to download version %s keadm", upgradeReq.Version)
- container, err := util.NewContainerRuntime(config.Modules.Edged.ContainerRuntime, config.Modules.Edged.RemoteRuntimeEndpoint)
+ container, err := util.NewContainerRuntime(config.Modules.Edged.ContainerRuntime, config.Modules.Edged.RemoteRuntimeEndpoint, config.Modules.Edged.TailoredKubeletConfig.CgroupDriver)
if err != nil {
return fmt.Errorf("failed to new container runtime: %v", err)
}
diff --git a/keadm/cmd/keadm/app/cmd/config.go b/keadm/cmd/keadm/app/cmd/config.go
index 47e3bc1a1..5d0970030 100644
--- a/keadm/cmd/keadm/app/cmd/config.go
+++ b/keadm/cmd/keadm/app/cmd/config.go
@@ -120,7 +120,7 @@ func newCmdConfigImagesPull() *cobra.Command {
cfg.KubeEdgeVersion = ver
images := GetKubeEdgeImages(cfg)
- return pullImages(cfg.RuntimeType, cfg.RemoteRuntimeEndpoint, images)
+ return pullImages(cfg.RuntimeType, cfg.RemoteRuntimeEndpoint, "", images)
},
Args: cobra.NoArgs,
}
@@ -129,8 +129,8 @@ func newCmdConfigImagesPull() *cobra.Command {
return cmd
}
-func pullImages(runtimeType string, endpoint string, images []string) error {
- runtime, err := util.NewContainerRuntime(runtimeType, endpoint)
+func pullImages(runtimeType, endpoint, cgroupDriver string, images []string) error {
+ runtime, err := util.NewContainerRuntime(runtimeType, endpoint, cgroupDriver)
if err != nil {
return err
}
diff --git a/keadm/cmd/keadm/app/cmd/edge/image.go b/keadm/cmd/keadm/app/cmd/edge/image.go
index a62902dee..c1908dab8 100644
--- a/keadm/cmd/keadm/app/cmd/edge/image.go
+++ b/keadm/cmd/keadm/app/cmd/edge/image.go
@@ -30,7 +30,7 @@ func request(opt *common.JoinOptions, step *common.Step) error {
imageSet := image.EdgeSet(opt.ImageRepository, opt.KubeEdgeVersion)
images := imageSet.List()
- runtime, err := util.NewContainerRuntime(opt.RuntimeType, opt.RemoteRuntimeEndpoint)
+ runtime, err := util.NewContainerRuntime(opt.RuntimeType, opt.RemoteRuntimeEndpoint, opt.CGroupDriver)
if err != nil {
return err
}
diff --git a/keadm/cmd/keadm/app/cmd/edge/upgrade.go b/keadm/cmd/keadm/app/cmd/edge/upgrade.go
index 4cc59f592..df1898870 100644
--- a/keadm/cmd/keadm/app/cmd/edge/upgrade.go
+++ b/keadm/cmd/keadm/app/cmd/edge/upgrade.go
@@ -179,7 +179,8 @@ func (up *Upgrade) PreProcess() error {
// download the request version edgecore
klog.Infof("Begin to download version %s edgecore", up.ToVersion)
upgradePath := filepath.Join(util.KubeEdgeUpgradePath, up.ToVersion)
- container, err := util.NewContainerRuntime(up.EdgeCoreConfig.Modules.Edged.ContainerRuntime, up.EdgeCoreConfig.Modules.Edged.RemoteRuntimeEndpoint)
+ container, err := util.NewContainerRuntime(up.EdgeCoreConfig.Modules.Edged.ContainerRuntime, up.EdgeCoreConfig.Modules.Edged.RemoteRuntimeEndpoint,
+ up.EdgeCoreConfig.Modules.Edged.TailoredKubeletConfig.CgroupDriver)
if err != nil {
return fmt.Errorf("failed to new container runtime: %v", err)
}
diff --git a/keadm/cmd/keadm/app/cmd/reset.go b/keadm/cmd/keadm/app/cmd/reset.go
index a180bca7e..0d18b3bcd 100644
--- a/keadm/cmd/keadm/app/cmd/reset.go
+++ b/keadm/cmd/keadm/app/cmd/reset.go
@@ -107,7 +107,7 @@ func NewKubeEdgeReset() *cobra.Command {
}
// cleanup mqtt container
- if err := RemoveMqttContainer(reset.RuntimeType, reset.Endpoint); err != nil {
+ if err := RemoveMqttContainer(reset.RuntimeType, reset.Endpoint, ""); err != nil {
fmt.Printf("Failed to remove MQTT container: %v\n", err)
}
//4. TODO: clean status information
@@ -120,8 +120,8 @@ func NewKubeEdgeReset() *cobra.Command {
return cmd
}
-func RemoveMqttContainer(runtimeType string, endpoint string) error {
- runtime, err := util.NewContainerRuntime(runtimeType, endpoint)
+func RemoveMqttContainer(runtimeType, endpoint, cgroupDriver string) error {
+ runtime, err := util.NewContainerRuntime(runtimeType, endpoint, cgroupDriver)
if err != nil {
return fmt.Errorf("failed to new container runtime: %v", err)
}
diff --git a/keadm/cmd/keadm/app/cmd/util/image.go b/keadm/cmd/keadm/app/cmd/util/image.go
index e769c76ff..4f6f204ce 100644
--- a/keadm/cmd/keadm/app/cmd/util/image.go
+++ b/keadm/cmd/keadm/app/cmd/util/image.go
@@ -32,9 +32,11 @@ import (
internalapi "k8s.io/cri-api/pkg/apis"
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
"k8s.io/klog/v2"
+ "k8s.io/kubernetes/pkg/kubelet/cm"
"k8s.io/kubernetes/pkg/kubelet/cri/remote"
"github.com/kubeedge/kubeedge/common/constants"
+ "github.com/kubeedge/kubeedge/pkg/apis/componentconfig/edgecore/v1alpha2"
"github.com/kubeedge/kubeedge/pkg/image"
)
@@ -48,7 +50,7 @@ type ContainerRuntime interface {
RemoveMQTT() error
}
-func NewContainerRuntime(runtimeType string, endpoint string) (ContainerRuntime, error) {
+func NewContainerRuntime(runtimeType, endpoint, cgroupDriver string) (ContainerRuntime, error) {
var runtime ContainerRuntime
switch runtimeType {
case constants.DockerContainerRuntime:
@@ -75,6 +77,7 @@ func NewContainerRuntime(runtimeType string, endpoint string) (ContainerRuntime,
}
runtime = &CRIRuntime{
endpoint: endpoint,
+ cgroupDriver: cgroupDriver,
ImageManagerService: imageService,
RuntimeService: runtimeService,
}
@@ -228,6 +231,7 @@ func (runtime *DockerRuntime) CopyResources(image string, files map[string]strin
type CRIRuntime struct {
endpoint string
+ cgroupDriver string
ImageManagerService internalapi.ImageManagerService
RuntimeService internalapi.RuntimeService
}
@@ -280,6 +284,10 @@ func (runtime *CRIRuntime) CopyResources(edgeImage string, files map[string]stri
},
},
}
+ if runtime.cgroupDriver == v1alpha2.CGroupDriverSystemd {
+ cgroupName := cm.NewCgroupName(cm.CgroupName{"kubeedge", "setup", "podcopyresource"})
+ psc.Linux.CgroupParent = cgroupName.ToSystemd()
+ }
sandbox, err := runtime.RuntimeService.RunPodSandbox(psc, "")
if err != nil {
return err