1、用户提交创建pod的申请,kubectl 命令行工具或 API 客户端提交创建 Pod 的请求,请求中包含了 Pod 的配置信息,例如容器镜像、资源需求、环境变量等;
2、API server接受用户提交创建pod的请求,API Server 会验证请求的合法性,例如用户权限、资源配额等;验证通过后,API Server 会将 Pod 的配置信息存储到 etcd 中。
3、Scheduler 调度 Pod,Scheduler 会根据 Pod 的资源需求、节点资源利用率、亲和性/反亲和性规则等因素进行调度决策。调度完成后,Scheduler 会将 Pod 与目标节点的绑定信息通过Scheduler 更新到 etcd 中。
4、kubelet 创建 Pod,kubelet 负责管理节点上的 Pod 和容器。kubelet 会监听 API Server 的变化,当发现有新的 Pod 被调度到当前节点时,就会开始创建 Pod,kubelet 会从镜像仓库拉取所需的容器镜像,并调用容器运行时创建和启动容器。
5、容器运行时,容器运行时负责下载镜像、创建容器、启动容器等操作,容器启动后将容器状态更新至API Server,API Server同步之tecd
6、用户可以通过kubelet get pods查看容器状态