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的启动过程:
二、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将结果返回

浙公网安备 33010602011771号