kubernetes组件介绍及创建pod流程

8 篇文章 0 订阅
6 篇文章 0 订阅

kubernetes 组件说明:

Master节点上面主要由四个模块组成:

  • kube-apiserver
  • kube-scheduler
  • kube-controller-manager
  • etcd

apiserver:apiserver 负责对外提供 RESTful 的 kubernetes API 的服务,它是系统管理指令的统一接口,任何对资源的增删该查都要交给 apiserver 处理后再交给 etcd;kubectl(kubernetes 提供的客户端工具,该工具内部是对 kubernetes API 的调用)是直接和 apiserver 交互的。

scheduler:scheduler 负责调度 Pod 到合适的 Node 上,如果把 scheduler 看成一个黑匣子,那么它的输入是 pod 和由多个 Node 组成的列表,输出是 Pod 和一个 Node 的绑定。 kubernetes 目前提供了调度算法,同样也保留了接口。用户根据自己的需求定义自己的调度算法。

controller manager:如果 apiserver 做的是前台的工作的话,那么 controller manager 就是负责后台的。每一个资源都对应一个控制器。而 controller manager 就是负责管理这些控制器的,比如我们通过 apiserver 创建了一个 Pod,当这个 Pod 创建成功后,apiserver 的任务就算完成了。

etcd:etcd 是一个高可用的键值存储系统,kubernetes 使用它来存储各个资源的状态,从而实现了 Restful 的 API。

每个Node节点主要由三个模板组成

  1. kube-proxy
  2. kubelet
  3. docker

kube-proxy:该模块实现了 kubernetes 中的服务发现和反向代理功能。kube-proxy 支持 TCP 和 UDP 连接转发,默认基 Round Robin 算法将客户端流量转发到与 service 对应的一组后端 pod。服务发现方面,kube-proxy 使用 etcd 的 watch 机制监控集群中 service 和 endpoint 对象数据的动态变化,并且维护一个 service 到 endpoint 的映射关系,从而保证了后端 pod 的 IP 变化不会对访问者造成影响,另外,kube-proxy 还支持 session affinity。

kublet:kublet 是 Master 在每个 Node 节点上面的 agent,是 Node 节点上面最重要的模块,它负责维护和管理该 Node 上的所有容器,但是如果容器不是通过 kubernetes 创建的,它并不会管理。本质上,它负责使 Pod 的运行状态与期望的状态一致。
在这里插入图片描述

  1. 第一步通过 apiserver REST API 创建一个 Pod (一般是用户通过 kubectl 传递得指令);
  2. 然后 apiserver 接收到数据后将数据写入到 etcd 中
  3. kube-scheduler 通过 apiserver watch API 一直在监听资源的变化,这个时候发现有一个新的 Pod,但是这个时候该 Pod 还没和任何 Node 节点进行绑定,所以 kube-scheduler 就经过一系列复杂的调度策略,选择出一个合适的 Node 节点,将该 Pod 和目标 Node 进行绑定,当然也会更新到etcd中去
  4. 这时目标 Node 节点上的 kubelet 通过 apiserver watch API 检测到有一个新的 Pod 被调度过来了,他就将该 Pod 的相关数据传递给后面的容器运行时 (container runtime),比如 Docker,让他们去运行该 Pod;
  5. kubelet 通过 container runtime 获取 Pod 的状态,然后更新到 apiserver 中,当然最后也是写入到 etcd 中去的。

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值