518.【kubernetes】kubelet 之 Pod 管理

2022-12-13  本文已影响0人  七镜

kubelet 监听 etcd,所有针对 pod 的操作都会被 kubelet 监听。如果发现有新的绑定到本节点的 Pod,则按照 Pod 清单的要求创建该 Pod。

如果发现本地的 Pod 需要被修改,则 kubelet 会做出对应的修改,比如在删除 Pod 中的某个容器时,会删除该容器。如果发现本地的 Pod 需要被删除,则 kubelet 会删除相应的 Pod,并删除 Pod 里的容器。

kubelet 读取监听到的信息,如果是创建和修改 Pod 任务,则做如下处理。

  1. 为该 Pod 创建一个数据目录
  2. 从 API Server 中读取该 Pod 清单
  3. 为该 Pod 挂载外部卷(External Volume)
  4. 下载 Pod 用到的 Secret
  5. 检查已经运行在节点上的 Pod,如果该 Pod 没有容器或 Pause 容器(kubernetes/pause镜像创建的容器)没有启动,则先停止 Pod 里所有容器的进程。如果在 Pod 中有需要删除的容器,则删除这些容器。
  6. 用 kubernetes/pause 镜像为每个 Pod 都创建一个容器。该 Pause 容器用于接管 Pod 中所有其他容器的网络。每创建一个新的 Pod,kubelet 都会先创建一个 Pause 容器,然后创建其他容器。kubernetes/pause 镜像大概有 200 KB,是个非常小的容器镜像。
  7. 为 Pod 中的每个容器做如下处理
上一篇 下一篇

猜你喜欢

热点阅读