pause容器何在?

来源:10-6 深入Pod - pod相关的点点滴滴(下)

qq_慕丝0528892

2021-06-27

pause容器, 作为作为每个Pod中第一个启动的存在, 但是我没有发现其存在的痕迹
不是说pause容器是和Pod是一一对应的吗?

crictl ps -a
CONTAINER           IMAGE               CREATED             STATE               NAME                      ATTEMPT             POD ID
20dbce0f0726d       2304e340e2384       4 days ago          Running             tomcat-demo               0                   01ec4c63f922e
17c34d6309fb4       5d3d5ddc8605d       4 days ago          Running             calico-kube-controllers   0                   398f63006b2cc
415dc1a618c22       a013daf8730db       4 days ago          Exited              patch                     2                   09c303aa8c6ce
479ac5696d7c1       f0b8a9a541369       6 days ago          Running             nginx                     0                   6e3aaef8ddc5e
27e50785ac204       f0b8a9a541369       6 days ago          Running             my-nginx                  0                   caf6484876c87
5ea927c8831da       90f9d984ec9a3       6 days ago          Running             node-cache                0                   9ac3e4c6b606f
3698749a5602d       67da37a9a360e       6 days ago          Running             coredns                   0                   0bc286930ac33
327b64a1aa2e8       c4d75af7e098e       6 days ago          Running             calico-node               0                   42fbb943c568a
85eda2a034db0       5660150975fb8       6 days ago          Exited              flexvol-driver            0                   42fbb943c568a
7dffac175047d       5749e8b276f9b       6 days ago          Exited              install-cni               0                   42fbb943c568a
3ae44bffd8b41       5749e8b276f9b       6 days ago          Exited              upgrade-ipam              0                   42fbb943c568a
86b07dc68d89c       f0b8a9a541369       6 days ago          Running             nginx-proxy               0                   c47e35cd67e9f

我从镜像下载中有发现他的痕迹, 确实拉取过pause镜像, 但是我没看到它的启动

crictl images
IMAGE                                                                           TAG                 IMAGE ID            SIZE
docker.io/calico/cni                                                            v3.19.1             5749e8b276f9b       48.3MB
docker.io/calico/kube-controllers                                               v3.19.1             5d3d5ddc8605d       25MB
docker.io/calico/node                                                           v3.19.1             c4d75af7e098e       58.7MB
docker.io/calico/pod2daemon-flexvol                                             v3.19.1             5660150975fb8       9.33MB
docker.io/coredns/coredns                                                       1.6.7               67da37a9a360e       13.6MB
docker.io/jettech/kube-webhook-certgen                                          v1.5.1              a013daf8730db       16.3MB
docker.io/library/nginx                                                         1.19                f0b8a9a541369       53.7MB
k8s.gcr.io/pause                                                                3.2                 80d28bedfe5de       300kB
registry.cn-hangzhou.aliyuncs.com/google_containers/pause                       3.2                 80d28bedfe5de       300kB
registry.cn-hangzhou.aliyuncs.com/kubernetes-kubespray/dns_k8s-dns-node-cache   1.16.0              90f9d984ec9a3       56.1MB
registry.cn-hangzhou.aliyuncs.com/liuyi01/tomcat                                8.0.51-alpine       2304e340e2384       76.6MB

从网上了解到pause容器是负责创建Liunx的命名空间, 然后Pod的其他容器再加入到这个命名空间中实现命名空间共享
以下是创建pause容器和加入到pause容器的命名空间的命令, 说明这个流程确实是先启动pause容器, 然供其他容器加入, 但是我本地测试中没发现pause容器, 难道网上说的不对吗? 还是k8s并不总是这么做?

# 创建一个pause容器。
docker run -d --name pause -p 8080:80 gcr.io/google_containers/pause-amd64:3.0
# 再创建ghost 容器,这是一个博客程序,加入到pause的命名空间中(网络, pid, ipc)
docker run -d --name ghost --net=container:pause --ipc=container:pause --pid=container:pause ghost

还有参数中的ipc代表什么?

写回答

1回答

刘果国

2021-06-27

crictl是为k8s转设的, ps只列出业务容器,隐藏了pause。可以用ctr命令试试

0
3
qq_慕丝0528892
命名空间大意了, 一时间没想起来, 把ctr和k8s的命名空间搞混了, 已经看到了
2021-07-09
共3条回复

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2216 问题

查看课程