站点图标 兰玉磊的个人博客

Kubernetes Pod 工作流

我们知道PodKubernetes中最小的调度单元,平时我们操作Pod的时间也是最多的,那么你知道Pod是怎样被创建出来的吗?知道他的工作流程吗?

组件之间的通信

我们知道在Kubernetes集群中apiserver是整个集群的控制入口,etcd在集群中充当数据库的作用,只有apiserver才可以直接去操作etcd集群,而我们的apiserver无论是对内还是对外都提供了统一的REST API服务,包括一个8080端口的非安全服务和6443端口的安全服务。组件之间当然也是通过apiserver进行通信的,其中kube-controller-managerkube-schedulerkubelet是通过apiserver watch API来监控我们的资源变化,并且对资源的相关状态更新操作也都是通过apiserver进行的,所以说白了组件之间的通信就是通过apiserver REST APIapiserver watch API进行的。

Pod 工作流

那么我们创建Pod的时候到底发生了什么呢?是怎样创建成功Pod的呢?

下面图示就是一个非常典型的Pod工作流程图:

和上面的组件通信一致:

这样一个典型的Pod工作流就完成了,通过这个流程我们可以看出整个过程中最重要的就是apiserver watch APIkube-scheduler的调度策略。

退出移动版