summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2023-10-20 15:17:03 +0800
committerGitHub <noreply@github.com>2023-10-20 15:17:03 +0800
commit0a1a574dfd0f69fb38a45e705f8ac5af6edef506 (patch)
tree3d67786f47503f799d100bc449c0c9ee94b97977
parentMerge pull request #5072 from WillardHu/automated-cherry-pick-of-#5047-upstre... (diff)
parentfix cgroupdriver systemd (diff)
downloadkubeedge-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.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 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