基本流程图
- 用户通过API Server创建一个Pod
- API Server将信息写入到etcd中存储
- scheduler检测到有未绑定Node节点的Pod,开始调度并更新Pod绑定到哪个节点,并发送给API Server
- API Server 会把Pod绑定的节点信息写入到etcd和scheduler 本地留存一份
- Node结点上的kubelet通过API Server查看绑定的Pod,检测到新的pod被调度过来,于是将Pod相关数据传递给container runtime ,比如 Docker,去运行Pod
- Docker将运行的信息传递给Container runtime,Kubelete可以从它获取到Pod状态,将状态更新到API Server中。API Server最后将状态写入etcd
Master 架构
- API Server:提供了HTTP Rest 接口的服务进程,对所有资源对象的增删改查等操作的唯一入口
- Contorller Manager: k8s 集群所有资源对象的自动化控制中心
- Schedular: ks集群中所有资源对象自动化调度控制中心
- ETCD: k8s集群注册服务发现中心,可以保存k8s集群