diff options
| author | Dave Chen <dave.jungler@gmail.com> | 2020-04-09 17:36:35 +0800 |
|---|---|---|
| committer | Dave Chen <dave.jungler@gmail.com> | 2020-04-10 17:51:35 +0800 |
| commit | 36c750444fb56642932792a3dffd4de2373c1844 (patch) | |
| tree | 12ecb8442cd0c3be26ca3dbecbe27f2ad49396fb /edge | |
| parent | Merge pull request #1563 from bitvijays/kubeedge_troubleshoot (diff) | |
| download | kubeedge-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.go | 2 | ||||
| -rw-r--r-- | edge/pkg/edged/edged_pods.go | 12 |
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 |
