container_manager: use oomScoreAdj instead of default when set

This commit is contained in:
Matthias Bertschy 2021-11-02 10:12:20 +01:00
parent 1659924a97
commit 9500ee9d9c
3 changed files with 4 additions and 3 deletions

View File

@ -702,6 +702,7 @@ func run(ctx context.Context, s *options.KubeletServer, kubeDeps *kubelet.Depend
RuntimeCgroupsName: s.RuntimeCgroups, RuntimeCgroupsName: s.RuntimeCgroups,
SystemCgroupsName: s.SystemCgroups, SystemCgroupsName: s.SystemCgroups,
KubeletCgroupsName: s.KubeletCgroups, KubeletCgroupsName: s.KubeletCgroups,
KubeletOOMScoreAdj: s.OOMScoreAdj,
CgroupsPerQOS: s.CgroupsPerQOS, CgroupsPerQOS: s.CgroupsPerQOS,
CgroupRoot: s.CgroupRoot, CgroupRoot: s.CgroupRoot,
CgroupDriver: s.CgroupDriver, CgroupDriver: s.CgroupDriver,

View File

@ -125,6 +125,7 @@ type NodeConfig struct {
RuntimeCgroupsName string RuntimeCgroupsName string
SystemCgroupsName string SystemCgroupsName string
KubeletCgroupsName string KubeletCgroupsName string
KubeletOOMScoreAdj int32
ContainerRuntime string ContainerRuntime string
CgroupsPerQOS bool CgroupsPerQOS bool
CgroupRoot string CgroupRoot string

View File

@ -62,7 +62,6 @@ import (
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/kubelet/lifecycle" "k8s.io/kubernetes/pkg/kubelet/lifecycle"
"k8s.io/kubernetes/pkg/kubelet/pluginmanager/cache" "k8s.io/kubernetes/pkg/kubelet/pluginmanager/cache"
"k8s.io/kubernetes/pkg/kubelet/qos"
"k8s.io/kubernetes/pkg/kubelet/stats/pidlimit" "k8s.io/kubernetes/pkg/kubelet/stats/pidlimit"
"k8s.io/kubernetes/pkg/kubelet/status" "k8s.io/kubernetes/pkg/kubelet/status"
schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework" schedulerframework "k8s.io/kubernetes/pkg/scheduler/framework"
@ -501,12 +500,12 @@ func (cm *containerManagerImpl) setupNode(activePods ActivePodsFunc) error {
} }
cont.ensureStateFunc = func(_ cgroups.Manager) error { cont.ensureStateFunc = func(_ cgroups.Manager) error {
return ensureProcessInContainerWithOOMScore(os.Getpid(), qos.KubeletOOMScoreAdj, cont.manager) return ensureProcessInContainerWithOOMScore(os.Getpid(), int(cm.KubeletOOMScoreAdj), cont.manager)
} }
systemContainers = append(systemContainers, cont) systemContainers = append(systemContainers, cont)
} else { } else {
cm.periodicTasks = append(cm.periodicTasks, func() { cm.periodicTasks = append(cm.periodicTasks, func() {
if err := ensureProcessInContainerWithOOMScore(os.Getpid(), qos.KubeletOOMScoreAdj, nil); err != nil { if err := ensureProcessInContainerWithOOMScore(os.Getpid(), int(cm.KubeletOOMScoreAdj), nil); err != nil {
klog.ErrorS(err, "Failed to ensure process in container with oom score") klog.ErrorS(err, "Failed to ensure process in container with oom score")
return return
} }