diff options
| author | KubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com> | 2023-10-20 15:17:03 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-20 15:17:03 +0800 |
| commit | 0a1a574dfd0f69fb38a45e705f8ac5af6edef506 (patch) | |
| tree | 3d67786f47503f799d100bc449c0c9ee94b97977 | |
| parent | Merge pull request #5072 from WillardHu/automated-cherry-pick-of-#5047-upstre... (diff) | |
| parent | fix cgroupdriver systemd (diff) | |
| download | kubeedge-0a1a574dfd0f69fb38a45e705f8ac5af6edef506.tar.gz | |
Merge pull request #5103 from Shelley-BaoYue/automated-cherry-pick-of-#5063-upstream-release-1.12
Automated cherry pick of #5063: fix start edgecore failed when using systemd cgroupdriver
| -rw-r--r-- | edge/pkg/edgehub/upgrade/upgrade.go | 2 | ||||
| -rw-r--r-- | keadm/cmd/keadm/app/cmd/config.go | 6 | ||||
| -rw-r--r-- | keadm/cmd/keadm/app/cmd/edge/image.go | 2 | ||||
| -rw-r--r-- | keadm/cmd/keadm/app/cmd/edge/upgrade.go | 3 | ||||
| -rw-r--r-- | keadm/cmd/keadm/app/cmd/reset.go | 6 | ||||
| -rw-r--r-- | keadm/cmd/keadm/app/cmd/util/image.go | 10 |
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 06d544c1d..4d5c0762f 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 2c606eb41..1edec4211 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 8e3e14ca1..9291b0982 100644 --- a/keadm/cmd/keadm/app/cmd/util/image.go +++ b/keadm/cmd/keadm/app/cmd/util/image.go @@ -31,9 +31,11 @@ import ( internalapi "k8s.io/cri-api/pkg/apis" runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2" "k8s.io/klog/v2" + "k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/pkg/kubelet/cri/remote" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" + "github.com/kubeedge/kubeedge/pkg/apis/componentconfig/edgecore/v1alpha2" "github.com/kubeedge/kubeedge/pkg/image" ) @@ -47,7 +49,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 kubetypes.DockerContainerRuntime: @@ -74,6 +76,7 @@ func NewContainerRuntime(runtimeType string, endpoint string) (ContainerRuntime, } runtime = &CRIRuntime{ endpoint: endpoint, + cgroupDriver: cgroupDriver, ImageManagerService: imageService, RuntimeService: runtimeService, } @@ -227,6 +230,7 @@ func (runtime *DockerRuntime) CopyResources(image string, files map[string]strin type CRIRuntime struct { endpoint string + cgroupDriver string ImageManagerService internalapi.ImageManagerService RuntimeService internalapi.RuntimeService } @@ -256,6 +260,10 @@ func (runtime *CRIRuntime) CopyResources(edgeImage string, files map[string]stri psc := &runtimeapi.PodSandboxConfig{ Metadata: &runtimeapi.PodSandboxMetadata{Name: KubeEdgeBinaryName}, } + 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 |
