kubernetes的组件及启动过程

一、kubernetes的组件:
control plane:   master
    * kube-apiserver:  kubernetes的核心,用于接收并响应所有的集群请求
        * http服务,本身不存储数据;所以它是负载均衡部署
    * kube-controller-manager: 集群控制器,用于监视集群当中的资源状态;如果发现有异常,会通知kube-apiserver,重新调度
    * kube-scheduler: 集群调度器,用于选择任务要运行的最优节点
    * etcd: 集群数据库,用于存储集群的所有数据,只与kube-apiserver交互
data plane: worker
    * kube-proxy
    * kubelet: 运行于每一个工作节点,负责接收任务,并调用本地的容器运行时在本地启动容器
二、kubernetes的启动过程:
1. kube-apiserver收到kubelet的注册请求,将kubelet采集到其所在主机的相关信息写入到etcd
2. kube-apiserver收到用户创建容器的请求
3. kube-apiserver将用户创建容器的具体描述信息写入etcd
4. kube-scheduler周期性与kube-apiserver同步心跳
5. kube-apiserver检索etcd,将用户需求与kubelet信息返回给kube-scheduler
6. kube-scheduler基于用户描述,比对所有的kubelet,选择出最优节点;将用户任务与该节点绑定,结果返回给kube-apiserver
7. kube-apiserver将收到的信息写入etcd
8. kubelet周期性与kube-apiserver同步心跳,kube-apiserver检索etcd,将任务发下给kubelet
9. kubelet调用本地容器运行时,创建容器
10. 容器运行时完成容器创建,将结果返回给kubelet
11. kubelet将结果返回给kube-apiserver
12. kube-apiserver将结果写入etcd
13. kube-controller-manager与kube-apiserver周期性同步心跳
14. kube-apiserver将用户描述与kubelet返回结果发送给kube-controller-manager
15. kube-controller-manager比对结果,如果一致,返回成功;否则,重复以上4-14步
16. 用户访问kube-apiserver请求结果
17. kube-apiserver将结果返回
posted @ 2025-11-26 16:08  hihibig  阅读(5)  评论(0)    收藏  举报