运行进程ID 21186。21257是kube-controller-manager。
我不明白为什么主机的进程是子进程。
而且,我不知道docker容器可以运行主机的进程。
为什么k8s采用这种架构。
其他进程都是相同的形式。
你能帮帮忙吗?谢谢
[root@instance-3 ~]# ps -ef | grep 21186
root 21186 10930 0 06:20 ? 00:00:00 containerd-shim -namespace moby -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/moby/3fd66799d02cb2c2f195fd85fadf852b7a7c0905707e6c25d1fdec93c1dc850b -address /run/containerd/containerd.sock -containerd-binary /usr/bin/containerd -runtime-root /var/run/docker/runtime-runc
root 21257 21186 1 06:20 ? 00:00:08 kube-controller-manager --aut....发布于 2020-03-24 15:18:42
这就是遵循OCI的核心容器运行时containerd在kubernetes中的工作方式。

容器Kubelet通过CRI运行时服务API调用CRI -
容器Kubelet然后通过CRI运行时服务API调用CRI-
https://kubernetes.io/blog/2017/11/containerd-container-runtime-options-kubernetes/
发布于 2020-03-24 15:12:06
虽然不是必需的,但是Kubernetes控制平面服务的一个非常常见的部署策略是“静态pod”。它们被放在Kubelet启动时查看的一个特殊文件夹中,它从无到有地创建pods (这是必需的,因为我们显然不能使用API来启动API服务器)。这很好,因为这意味着控制平面服务在Kubernetes中是可见的,您可以像对待普通pod一样对待它们(使用kubectl日志、端口转发等)。
https://stackoverflow.com/questions/60826192
复制相似问题