深入剖析 Kubernetes
张磊
Kubernetes 社区资深成员与项目维护者
116709 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 57 讲
再谈开源与社区 (1讲)
结束语 (1讲)
深入剖析 Kubernetes
15
15
1.0x
00:00/00:00
登录|注册

45 | 幕后英雄:SIG-Node与CRI

Pod Update Worker
UPDATE event
ADD event
HandlePods
Periodic cleanup events
kubelet's execution period
Pod lifecycle changes
Pod update events
Deployment of kubelet
Importance of SyncLoop
CRI shim
dockershim
GenericRuntime
Design and implementation
Pod operations
Handlers
Control loop
Core component of Kubernetes
Core component of Kubernetes
Responsibilities
Reflection
Conclusion
Architecture with CRI
Container Runtime Interface (CRI)
kubelet
SIG-Node
幕后英雄之SIG-Node与CRI

该思维导图由 AI 生成,仅供参考

你好,我是张磊。今天我和你分享的主题是:幕后英雄之 SIG-Node 与 CRI。
在前面的文章中,我为你详细讲解了关于 Kubernetes 调度和资源管理相关的内容。实际上,在调度这一步完成后,Kubernetes 就需要负责将这个调度成功的 Pod,在宿主机上创建出来,并把它所定义的各个容器启动起来。这些,都是 kubelet 这个核心组件的主要功能。
在接下来三篇文章中,我就深入到 kubelet 里面,为你详细剖析一下 Kubernetes 对容器运行时的管理能力。
在 Kubernetes 社区里,与 kubelet 以及容器运行时管理相关的内容,都属于 SIG-Node 的范畴。如果你经常参与社区的话,你可能会觉得,相比于其他每天都热闹非凡的 SIG 小组,SIG-Node 是 Kubernetes 里相对沉寂也不太发声的一个小组,小组里的成员也很少在外面公开宣讲。
不过,正如我前面所介绍的,SIG-Node 以及 kubelet,其实是 Kubernetes 整套体系里非常核心的一个部分。 毕竟,它们才是 Kubernetes 这样一个容器编排与管理系统,跟容器打交道的主要“场所”。
而 kubelet 这个组件本身,也是 Kubernetes 里面第二个不可被替代的组件(第一个不可被替代的组件当然是 kube-apiserver)。也就是说,无论如何,我都不太建议你对 kubelet 的代码进行大量的改动。保持 kubelet 跟上游基本一致的重要性,就跟保持 kube-apiserver 跟上游一致是一个道理。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Kubernetes中SIG-Node与CRI的核心作用,以及kubelet在Pod管理中的关键角色,是本文的重点。kubelet通过控制循环处理Pod的更新事件、生命周期变化等,而CRI则统一了容器操作接口,使kubelet只需与CRI打交道。文章还介绍了dockershim和CRI shim在响应CRI请求方面的作用,以及Kata Containers项目和runV项目对虚拟化容器的支持。总的来说,本文深入浅出地介绍了Kubernetes中与容器运行时管理相关的内容,为读者提供了全面的技术视角。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入剖析 Kubernetes》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(25)

  • 最新
  • 精选
  • 勤劳的小胖子-libo
    "当 Kubernetes 通过编排能力创建了一个 Pod 之后,调 度器会为这个Pod选择一个具体的节点来运行。这时候,kubelet会。。。。创建一个Pod" 请教,这个kubelet以及随后的CRI grpc->dockershim/CRIshim 是在具体的node上面运行的吗?还是通过master来远程调用的? 另外,为什么与dockershim并列的叫remote(no-op),难道都是不在同一个node的远程创建?

    作者回复: 在node上。两套代码。

    2018-12-05
    9
  • wutz
    kubernetes 1.13 最近刚发布,kubeadm 也 GA 了,为何其 HA 支持被移除了?

    作者回复: 这就是我之前说的,做不完,不好做啊

    2018-12-05
    2
    4
  • 约书亚
    整整2年前的内容了,这两天最大的新闻就是k8s将弃用docker,移除dockershim,所以特意跑来留言
    2020-12-05
    13
    91
  • hjydxy
    请教老师一个问题,现在有一个linux的k8s集群,一个windows的k8s集群,可不可以把这两个集群统一组建成一个新的联邦集群,统一调度?
    2018-12-06
    2
    15
  • Slide
    这专栏从19年年底开始看,回头来回看完了好几遍,每一次都有新的理解。。
    2022-03-04
    1
    11
  • zhenLEE@Saddam
    dockershim由docker开源维护了,现在看来,有必要看看contained了
    2020-12-16
    2
    7
  • chenhz
    使用 ansible-playbook 部署到 Node 。
    2020-02-06
    4
  • 怀揣梦想的学渣
    正如作者讲的,Dockershim确实要删除。今天在官方文档看到“Dockershim removed from Kubernetes As of Kubernetes 1.24, Dockershim is no longer included in Kubernetes. ”
    2022-05-06
    1
    3
  • 陈斯佳
    第四十三课:幕后英雄:SIG-Node和CRI kube-apiserver和kubelet是k8s中最核心的两个组建。其中kubelet是属于SIG-Node的范畴。 kubelet的工作核心是一个叫做SyncLoop的控制循环。驱动这个控制循环运行的事件包括四种: 1. Pod更新事件 2. Pod生命周期变化 3. kubelet本身设置的执行周期 4. 定时的清理事件 kubelet启动时要做的第一件事就是设置Listers,注册它所关心的的Informer.这些Informer就是SyncLoop需要处理的数据的来源。kubelet还负责很多子控制循环,比如Volume Manager, Image Manager, Node status Manager.kubelet还会通过Watch机制来监听关心的Pod对象的变化。 CRI是负责kubeblet和底层容器打交道的统一接口
    2021-11-04
    3
  • 普罗@庞铮
    原生部署或者容器部署,不过这里的容器不能和k8s使用的容器重叠。😁
    2018-12-22
    2
    3
收起评论
显示
设置
留言
25
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部