Pod:k8s 的最小调度单元,1 个 pod 可以包含 1 个或多个容器,pod 可以理解为容器的集合。
Pod的创建流程
以创建 Pod 为例,来理解 Kubernetes 中的各组件的运⾏流程:
通过 api server 向集群发起创建 Pod 的指令,api server 将 yaml 中的配置的属性信息(metadata)写入 etcd 中。
api server 触发 watch 机制准备创建 pod,信息转发给调度器 Scheduler,Scheduler 使用调度算法选择 node,然后将 node 信息给 api server,api server 将绑定的 node 信息写入 etcd。
api server 又通过 watch 机制,调用 kubelet,指定 pod 信息,触发docker run命令创建容器。创建完成之后反馈给 kubelet, kubelet 又将 pod 的状态信息给 api server, api server 又将 pod 的状态信息写入etcd。 ⾄此 Pod 真正的创建完毕。如果因为某些原因 Pod 出现了问题,集群中的 controller-manager 会向 apiserver 发起创建的请求。