【问题标题】:Which Kubernetes component creates a new pod?哪个 Kubernetes 组件创建了一个新的 pod?
【发布时间】:2015-11-05 13:51:16
【问题描述】:

我在理解 kubernetes 工作流程时遇到了问题: 据我了解流程:

您有一个包含 etcd、api-server、控制器管理器和调度程序的 master。 您有包含 pod(其中包含容器)、kubelet 和代理的节点。

代理作为基本代理工作,使服务可以与其他节点通信。 当一个 pod 死掉时,控制器管理器会看到这一点(它“读取”描述通常有多少个 pod 的复制控制器)。

不清楚: 控制器管理器将通知 API 服务器(我对此不正确)。 API-server 将告诉调度程序搜索 pod 的新位置。 调度器找到好位置后,API 会通知 kubelet 创建一个新的 pod。

我不确定最后一种情况?你能告诉我正确的过程是一个明确的方法吗? 哪个组件正在创建 pod 和容器?是kubelet吗?

【问题讨论】:

  • 你的最后一个问题没有意义。是 kubelet 创建 pod,并且是 kubelet 联系 docker 守护进程以实现它们(因为这就是您创建 docker 容器的方式)。
  • 你说得对,我来编辑一下
  • @larsks 请补充说,作为一个答案,这应该被认为是正确的。

标签: docker kubernetes


【解决方案1】:

所以实际上是 kubelet 创建了 pod 并与 docker 守护进程对话。如果您在集群中的节点(如非主节点)上执行docker ps -a,您将看到 pod 中的容器正在运行。因此,工作流运行一个 kubectl 命令,该命令进入 API 服务器,该命令将其传递给控制器​​,假设该命令是生成一个 pod,控制器将其中继到 API 服务器,然后 API 服务器进入调度程序并告诉它生成 pod。然后告诉 kubelet 生成该 pod。

我建议阅读 Kubernetes 所基于的 Borg 论文,以便更详细地理解事物。 http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43438.pdf

【讨论】:

    猜你喜欢
    • 2020-09-13
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多