master节点负责管理, worker节点负责具体的工作
数据存储是在etcd集群中
怎么访问这个集群呢?
master节点上有个ApiServer提供服务,对外提供的入口
当ApiServer接收到了调度命令, 他会用到Scheduler这个组件, 收集各个worker信息, 然后通过各种算法, 最终选择个最优的节点, 然后把服务调度到某个节点上, 然后scheduler会告诉apiserver, 然后apiserver会把这个信息保存到etcd上, 这时候pod和node就绑定起来了
controllerManager, 集群内部的控制中心, 负责各个k8s对象, 里面有各种controller, 他会时刻关注各个状态, 并时刻维护这些状态.
controllerManager会通过apiserver获取到节点之间的变化, 比如保存在etcd的pod和node的绑定关系, 如果发现他是处于等待调度状态, 他会完成这个调度
pod是怎么在worker中运行起来的?
worker中有个kubelet这个服务, 他负责维护每个pod生命周期, 还有volume和网络
然后运行起每个docker
