summaryrefslogtreecommitdiff
path: root/edge
diff options
context:
space:
mode:
authorDave Chen <dave.jungler@gmail.com>2020-04-09 17:36:35 +0800
committerDave Chen <dave.jungler@gmail.com>2020-04-10 17:51:35 +0800
commit36c750444fb56642932792a3dffd4de2373c1844 (patch)
tree12ecb8442cd0c3be26ca3dbecbe27f2ad49396fb /edge
parentMerge pull request #1563 from bitvijays/kubeedge_troubleshoot (diff)
downloadkubeedge-36c750444fb56642932792a3dffd4de2373c1844.tar.gz
Enable `systemd` as the `cgroup` driver
systemd unit has the ".slice" surfix and slices are organized hierarchically in the cgroup tree, that means in order to make cgroup name recognized by systemd, the cgroup name like below, {"kubepods", "besteffort", "pod2330b759-7ca1-49b0-8fea-f7f382c881fd"} should be converted to, "/kubepods.slice/kubepods-besteffort.slice/kubepods-besteffort-pod2330b759_7ca1_49b0_8fea_f7f382c881fd.slice" while with cgroupfs in place, it should be coverted to something like this, "/kubepods/besteffort/pod2330b759-7ca1-49b0-8fea-f7f382c881fd" The change calls the API from kubelet to convert the resource to the form that could be supported by cgroupfs or systemd. `CgroupsPerQOS` is enabled by default in the `containerManager` to support the conversion mentioned above, or else, nothing is done but an empty string is returned which should also workable though.
Diffstat (limited to 'edge')
-rw-r--r--edge/pkg/edged/edged.go2
-rw-r--r--edge/pkg/edged/edged_pods.go12
2 files changed, 5 insertions, 9 deletions
diff --git a/edge/pkg/edged/edged.go b/edge/pkg/edged/edged.go
index 29507c41d..8c0982677 100644
--- a/edge/pkg/edged/edged.go
+++ b/edge/pkg/edged/edged.go
@@ -519,6 +519,8 @@ func newEdged(enable bool) (*edged, error) {
ContainerRuntime: edgedconfig.Config.RuntimeType,
KubeletRootDir: DefaultRootDir,
ExperimentalCPUManagerPolicy: string(cpumanager.PolicyNone),
+ CgroupsPerQOS: true,
+ CgroupRoot: "/",
},
false,
edgedconfig.Config.DevicePluginEnabled,
diff --git a/edge/pkg/edged/edged_pods.go b/edge/pkg/edged/edged_pods.go
index 7c028d24f..4094df095 100644
--- a/edge/pkg/edged/edged_pods.go
+++ b/edge/pkg/edged/edged_pods.go
@@ -60,8 +60,6 @@ import (
"k8s.io/kubernetes/pkg/volume/validation"
"k8s.io/kubernetes/third_party/forked/golang/expansion"
utilfile "k8s.io/utils/path"
-
- edgedconfig "github.com/kubeedge/kubeedge/edge/pkg/edged/config"
)
const (
@@ -547,13 +545,9 @@ func (e *edged) removeOrphanedPodStatuses(pods []*v1.Pod) {
// GetPodCgroupParent gets pod cgroup parent from container manager.
func (e *edged) GetPodCgroupParent(pod *v1.Pod) string {
- ret := e.cgroupDriver
- if edgedconfig.Config.RemoteRuntimeEndpoint == DockerShimEndpoint ||
- edgedconfig.Config.RemoteRuntimeEndpoint == DockerShimEndpointDeprecated {
- //always have a ".slice" suffix
- ret = ret + systemdSuffix
- }
- return ret
+ pcm := e.containerManager.NewPodContainerManager()
+ _, cgroupParent := pcm.GetPodContainerName(pod)
+ return cgroupParent
}
// GenerateRunContainerOptions generates the RunContainerOptions, which can be used by