Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
981 人已学习
新⼈⾸单¥68
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)