summaryrefslogtreecommitdiff
path: root/keadm
diff options
context:
space:
mode:
authorShelley-BaoYue <baoyue2@huawei.com>2023-10-08 17:43:00 +0800
committerShelley-BaoYue <baoyue2@huawei.com>2023-10-12 17:20:42 +0800
commit24afe636c94cf5f8600e90e6aa5a878a24228a8b (patch)
treea30974737a8a2c79b2f19db6e2f99ea04b3c95b3 /keadm
parentMerge pull request #5047 from WillardHu/fix-upgradetime (diff)
downloadkubeedge-24afe636c94cf5f8600e90e6aa5a878a24228a8b.tar.gz
fix cgroupdriver systemd
Signed-off-by: Shelley-BaoYue <baoyue2@huawei.com>
Diffstat (limited to 'keadm')
-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
5 files changed, 18 insertions, 9 deletions
diff --git a/keadm/cmd/keadm/app/cmd/config.go b/keadm/cmd/keadm/app/cmd/config.go
index 12bf33cf3..5d97726e0 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 2301a25a1..83a640fa2 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)
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 10e8fb052..bafbddfa9 100644
--- a/keadm/cmd/keadm/app/cmd/reset.go
+++ b/keadm/cmd/keadm/app/cmd/reset.go
@@ -126,7 +126,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
@@ -139,8 +139,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 521f66aad..d08f6e249 100644
--- a/keadm/cmd/keadm/app/cmd/util/image.go
+++ b/keadm/cmd/keadm/app/cmd/util/image.go
@@ -33,9 +33,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"
)
@@ -49,7 +51,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:
@@ -76,6 +78,7 @@ func NewContainerRuntime(runtimeType string, endpoint string) (ContainerRuntime,
}
runtime = &CRIRuntime{
endpoint: endpoint,
+ cgroupDriver: cgroupDriver,
ImageManagerService: imageService,
RuntimeService: runtimeService,
ctx: context.Background(),
@@ -230,6 +233,7 @@ func (runtime *DockerRuntime) CopyResources(image string, files map[string]strin
type CRIRuntime struct {
endpoint string
+ cgroupDriver string
ImageManagerService internalapi.ImageManagerService
RuntimeService internalapi.RuntimeService
ctx context.Context
@@ -283,6 +287,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(runtime.ctx, psc, "")
if err != nil {
return err