基于运行的时间,上述三个进程组很有可能是在 Pod 启动期间创建。这很有意思,因为在清单文件中,只有两个容器,httpbin 和 sleep。可以使用名为 ctr 的 ContainerD 命令行来交叉检查上述的发现:
1 $ sudo ctr --namespace=k8s.io containers ls 2 CONTAINER      IMAGE                                   RUNTIME 3 ... 4 097d4fe8a7002  docker.io/curlimages/curl@sha256:1a220  io.containerd.runtime.v1.linux 5 ... 6 dfb1cd29ab750  docker.io/kennethreitz/httpbin:latest   io.containerd.runtime.v1.linux 7 ... 8 f0e87a9330466  k8s.gcr.io/pause:3.1                    io.containerd.runtime.v1.linux
的确是三个容器被创建了。同时,使用另一个和 CRI 运行时监控的命令行 crictl 检测发现,仅仅只有两个容器:
1 $ sudo crictl ps 2 CONTAINER      IMAGE          CREATED            STATE    NAME     ATTEMPT  POD ID 3 097d4fe8a7002  bcb0c26a91c90  About an hour ago  Running  sidecar  0        f0e87a9330466 4 dfb1cd29ab750  b138b9264903f  About an hour ago  Running  app      0        f0e87a9330466