<返回更多

如何通过docker run启动一个pod

2022-01-25    云技术趣谈
加入收藏

既然k8s 底层是支持Docker runtime的,那么我们自然也可以通docker run 的方式启动一个Pod。

如何通过docker run启动一个pod

 

首先我们创建一个Pod 级别的cgroup

sudo cgcreate -g cpu,memory:/pod-foo

# 查看创建的 cgroup
ls -l /sys/fs/cgroup/cpu/pod-foo/
ls -l /sys/fs/cgroup/memory/pod-foo/

启动我们的sandbox 容器

docker run -d --rm 
  --name foo_sandbox 
  --cgroup-parent /pod-foo 
  --ipc 'shareable' 
  alpine sleep infinity

通过cgroup-parent 指定 cgroup

然后启动我们的业务容器

$ docker run -d --rm 
  --name App 
  --cgroup-parent /pod-foo 
  -.NETwork container:foo_sandbox 
  --ipc container:foo_sandbox 
  kennethreitz/httpbin

主要是通过 --network 共享sandbox 网络,通过 --ipc 共享sandbox ipc。

如果有必要的话,我们还可以启动一个sidecar 容器

$ docker run -d --rm 
  --name sidecar 
  --cgroup-parent /pod-foo 
  --network container:foo_sandbox 
  --ipc container:foo_sandbox 
  curlimages/curl sleep 365d
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>