10|通过Pod创建流程来了解Kubernetes
孔令飞

你好,我是孔令飞。
前两节课,我们分别学习了 Kubernetes 的架构及核心组件功能、Kubernetes 中的核心资源和核心概念,相信你已经建立起了基本的认知框架。但学完这些内容后,你可能仍然无法知道 Kubernetes 具体是如何工作的。
因此,本节课会从运行层面介绍 Kubernetes 的运行机制,通过一个经典的例子——Pod 创建流程,为你展示 Kubernetes 中各个组件的功能和交互,带你了解 Kubernetes 的工作原理。
Kubernetes 创建 Pod 流程
在 Kubernetes 中,我们可以通过多种方式来创建一个 Pod,例如:创建一个裸 Pod、创建 Deployment、创建 ReplicaSet、创建 CronJob、创建 Job 等。为了简洁、全面介绍 Kubernetes 的资源处理流程,这里我通过创建一个 ReplicaSet 来看看 Kubernetes 具体如何创建 Pod。
创建流程如下:

图片来自网络
接下来,我们结合上面的流程图详细拆解各个步骤的具体执行内容。
步骤 0:kube-controller-manager Watch kube-apiserver
首先,在启动 kube-controller-manager 时,kube-controller-manager 会跟 kube-apiserver 建立连接,并通过 List-Watch 机制,实时监听 kube-apiserver 中的资源变更事件,根据变更事件,调用相应的 Handler 来调和资源。此时,kube-apiserver 会保持这个连接,并在有相关资源变化时(如创建、更新或删除操作),通过流式响应的方式将变更信息推送给 kube-controller-manager。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. Kubernetes中创建Pod的具体流程,包括ReplicaSet资源的创建和调和过程。 2. kube-controller-manager通过List-Watch机制实时监听kube-apiserver中的资源变更事件,根据变更事件调和资源。 3. 用户通过kubectl工具调用kube-apiserver接口创建ReplicaSet资源,展示了创建ReplicaSet的YAML定义和具体执行内容。 4. kubectl create命令创建ReplicaSet资源,展示了kubectl的核心操作和详细的操作日志。 5. kube-apiserver处理ReplicaSet资源创建请求,进行认证、鉴权,设置默认值、准入控制、参数校验,并将资源数据保存在etcd中。 6. etcd发送ReplicaSet创建事件给kube-apiserver,kube-controller-manager Watch到kube-apiserver ReplicaSet创建事件。 7. Kubernetes中所有元数据都保存在/registry目录下,采用了etcdV3 API,数据存储采用了平展(flat)模式。 8. kube-apiserver将Pod资源创建数据写入etcd,进行认证、鉴权,设置默认值、准入控制、参数校验,并将资源数据保存在etcd中。 9. etcd发送Pod创建事件给kube-apiserver,kube-controller-manager Watch到kube-apiserver Pod创建事件.
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》,新⼈⾸单¥68
《Kubernetes 源码剖析与实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论