Add container to pod qos cgroup
Signed-off-by: Harry Zhang <harryz@hyper.sh>
This commit is contained in:
parent
1d08519ffe
commit
02dfe877e4
3 changed files with 17 additions and 9 deletions
|
@ -251,6 +251,11 @@ func (s *Server) createSandboxContainer(containerID string, containerName string
|
||||||
specgen.SetLinuxResourcesOOMScoreAdj(int(oomScoreAdj))
|
specgen.SetLinuxResourcesOOMScoreAdj(int(oomScoreAdj))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if sb.cgroupParent != "" {
|
||||||
|
// NOTE: we only support cgroupfs for now, discussion happens in issue #270.
|
||||||
|
specgen.SetLinuxCgroupsPath(sb.cgroupParent + "/" + containerID)
|
||||||
|
}
|
||||||
|
|
||||||
capabilities := linux.GetSecurityContext().GetCapabilities()
|
capabilities := linux.GetSecurityContext().GetCapabilities()
|
||||||
if capabilities != nil {
|
if capabilities != nil {
|
||||||
addCaps := capabilities.GetAddCapabilities()
|
addCaps := capabilities.GetAddCapabilities()
|
||||||
|
|
|
@ -9,12 +9,12 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
|
"github.com/containernetworking/cni/pkg/ns"
|
||||||
"github.com/docker/docker/pkg/stringid"
|
"github.com/docker/docker/pkg/stringid"
|
||||||
"github.com/kubernetes-incubator/cri-o/oci"
|
"github.com/kubernetes-incubator/cri-o/oci"
|
||||||
"github.com/containernetworking/cni/pkg/ns"
|
"golang.org/x/sys/unix"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
"k8s.io/kubernetes/pkg/fields"
|
||||||
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
||||||
"golang.org/x/sys/unix"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type sandboxNetNs struct {
|
type sandboxNetNs struct {
|
||||||
|
@ -138,6 +138,7 @@ type sandbox struct {
|
||||||
netns *sandboxNetNs
|
netns *sandboxNetNs
|
||||||
metadata *pb.PodSandboxMetadata
|
metadata *pb.PodSandboxMetadata
|
||||||
shmPath string
|
shmPath string
|
||||||
|
cgroupParent string
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -245,7 +245,9 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
// setup cgroup settings
|
// setup cgroup settings
|
||||||
cgroupParent := req.GetConfig().GetLinux().GetCgroupParent()
|
cgroupParent := req.GetConfig().GetLinux().GetCgroupParent()
|
||||||
if cgroupParent != "" {
|
if cgroupParent != "" {
|
||||||
g.SetLinuxCgroupsPath(cgroupParent)
|
// NOTE: we only support cgroupfs for now, discussion happens in issue #270.
|
||||||
|
g.SetLinuxCgroupsPath(cgroupParent + "/" + containerID)
|
||||||
|
sb.cgroupParent = cgroupParent
|
||||||
}
|
}
|
||||||
|
|
||||||
// set up namespaces
|
// set up namespaces
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue