基于运行的时间,上述三个进程组很有可能是在 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