kubernetes中资源清单以yaml文件或json格式编写清单列表
通过一个清单定义好一个应用后就可以使用kubectl工具来应用他 $ kubectl create -f xxxx.yaml
原理: (1)kubectl直接操作APIServer,相当于我们把清单交付给APIServer,然后获取清单描述的应用信息后存入etcd数据库中 (2)kube-sheduler组件发现这时候有个pod还没绑定到节点上,就会对pod进行一系列的调度,把他分配到合适的节点 (3)kube-sheduler把节点和pod绑定到一起写回etcd数据库中 (4)节点的kubelet组件发现有个pod分配过来,就去把pod信息拉取下来,通过描述信息将容器运行时把容器创建出来 (6)把pod信息写回etcd
kube-sheduler是****什么? 调度器,为新创建的pod在集群中寻找最合适的node,并将pod调度到Node上。 ****职责:
1.从集群所有节点中,根据调度算法挑选出所有可以运行该pod的节点。 2.再根据调度算法从上述node节点选择最优节点作为最终结果。 3.Scheduler调度器运行在master节点,它的核心功能是监听apiserver来获取PodSpec.NodeName为空的pod,然后为pod创建一个binding指示pod应该调度到哪个节点上,调度结果写入apiserver