场景1:kubernetes API server作为集群的核心,负责集群各功能模块之间的通信,集群内的各个功能模块通过API Server将信息存入etcd,当需要获取和操作这些数据的时候,则通过API Server提供的REST接口(用GET,List或者Watch方法)来实现,从而实现各个模块之间的信息交互。

         场景2:kubelet进程与API SERVER进行交互,每个node节点上的kubelet每隔一个时间周期就会调用一次API SERVER的RESTj接口报告自身的状态,API SERVRE接收到这些信息后,将节点的信息更新到etcd种,kubelet也通过API Server的Watch接口监听pod的状态信息,如果监听到pod的副本被绑定到本届点,执行pod的创建和启动逻辑,监听到pod的对象删除,则删除本届点上相应的pod容器,监听到修改,则修改

        场景3:kube-controller-manager进程与APIserver交互,监听node的状态信息,并作出相应的处理

        场景4:kube-scheduler与API Server的交互,当scheduler通过API Server的Watch接口监听到新创建的pod的副本信息后,检索符合改pod的要求的node列表,执行pod逻辑调度,调度成功后将pod绑定到目标节点上

       调度方法:预选策略+最优策略(默认5+3)

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐