diff options
| author | Shelley-BaoYue <baoyue2@huawei.com> | 2023-10-08 17:43:00 +0800 |
|---|---|---|
| committer | Shelley-BaoYue <baoyue2@huawei.com> | 2023-10-12 17:20:42 +0800 |
| commit | 24afe636c94cf5f8600e90e6aa5a878a24228a8b (patch) | |
| tree | a30974737a8a2c79b2f19db6e2f99ea04b3c95b3 /keadm | |
| parent | Merge pull request #5047 from WillardHu/fix-upgradetime (diff) | |
| download | kubeedge-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.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 |
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 |
