Put containerd-shim into pod cgroup

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
This commit is contained in:
Yanqiang Miao
2017-10-09 16:11:13 +08:00
parent a7c48f2f3f
commit e9cf1d5909
3 changed files with 35 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ import (
"golang.org/x/net/context"
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
customopts "github.com/kubernetes-incubator/cri-containerd/pkg/opts"
cio "github.com/kubernetes-incubator/cri-containerd/pkg/server/io"
containerstore "github.com/kubernetes-incubator/cri-containerd/pkg/store/container"
)
@@ -127,7 +128,12 @@ func (c *criContainerdService) startContainer(ctx context.Context,
return cntr.IO, nil
}
task, err := container.NewTask(ctx, ioCreation)
var taskOpts []containerd.NewTaskOpts
cgroup := sandbox.Config.GetLinux().GetCgroupParent()
if cgroup != "" {
taskOpts = append(taskOpts, customopts.WithContainerdShimCgroup(cgroup))
}
task, err := container.NewTask(ctx, ioCreation, taskOpts...)
if err != nil {
return fmt.Errorf("failed to create containerd task: %v", err)
}

View File

@@ -33,6 +33,7 @@ import (
"golang.org/x/sys/unix"
"k8s.io/kubernetes/pkg/kubelet/apis/cri/v1alpha1/runtime"
customopts "github.com/kubernetes-incubator/cri-containerd/pkg/opts"
sandboxstore "github.com/kubernetes-incubator/cri-containerd/pkg/store/sandbox"
"github.com/kubernetes-incubator/cri-containerd/pkg/util"
)
@@ -198,8 +199,12 @@ func (c *criContainerdService) RunPodSandbox(ctx context.Context, r *runtime.Run
// Create sandbox task in containerd.
glog.V(5).Infof("Create sandbox container (id=%q, name=%q).",
id, name)
var taskOpts []containerd.NewTaskOpts
if cgroup := sandbox.Config.GetLinux().GetCgroupParent(); cgroup != "" {
taskOpts = append(taskOpts, customopts.WithContainerdShimCgroup(cgroup))
}
// We don't need stdio for sandbox container.
task, err := container.NewTask(ctx, containerd.NullIO)
task, err := container.NewTask(ctx, containerd.NullIO, taskOpts...)
if err != nil {
return nil, fmt.Errorf("failed to create task for sandbox %q: %v", id, err)
}