shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数865
阅读:5788回复:3

自研边缘云方案前奏:kubelet源码级学习和魔改

楼主#
更多 发布于:2022-11-01 02:40
   之前我们针对k8s周边组件开过类似的源码级课程:
    1、Operator实战3:手撸k8s原生cicd框架(task篇)   (这个是tekton的自我改进版)
    2、k8s速学3:Informer深入学习篇  
    3、k8s Controller runtime深入学习和源码理解篇

    这回来个刺激的,我们后面打算动k8s核心组件。先从kubelet开始。本课程基于k8s1.22,不是网上那种读读源码,然后把函数用中文标注读一遍那种,毫无意义。本课程的主要目的是通过源码讲解、魔改kubelet,并且后面 我们要自研边缘云的kubelet组件。
      本课程需要拥有较强的golang编码功底才能观看,完全不适合新手。
      由于众所周知的原因, 课程关键细节会留坑,VIP学员一对一口述破解
       课程里使用的是演示环境是windows笔记本。那么,我们要在 windows笔记本上启动出官方的kubelet

      本课程预估100课时左右



 [更多课时戳这]
第五章:超轻量边缘kubelet魔改开发
第53讲:超轻量kubelet基本功能和基本结构试听
今天是一个开张课,我们正式进入阉割版超轻量kubelet开发章节

第54讲:源码分离、回调函数设计(Pod新增)
课前花了2小时进行源码分离,并初步设计回调函数

第55讲:回调函数的完整设计和测试
上节课我们做了一个,今天我们完整的把回调函数设计完成

第56讲:回调函数中支持PodEvent事件的发送
我们支持边缘节点发送PodEvent给k8s集群

第57讲:边缘节点函数中支持让POD停止退出
今天我们展示下如何在边缘节点中把POD设置为退出状态。下节课来上报信息

第58讲:回调函数支持POD停止并上报状态
上节课我们停止了POD,但是并没有上报状态,今天这课时放出代码

第59讲:POD下发处理(1) 命令行模式
为了让边缘节点能接受我们的任务并执行,我们需要对POD下发进行处理。今天先从最简单的命令行模式开始

第60讲:POD下发边缘任务(2) 执行命令、设置容器状态
上节课我们是基本思路,这节课为了演示执行,我们做个测试用例来体现边缘容器的执行

第61讲:POD下发边缘任务(3) 执行多容器任务
之前我们只支持POD单容器运行和解析,今天这课时我们来完成多容器的任务执行

第62讲:POD下发边缘任务(4) BUG修正、多容器执行状态上报
一方面是BUG修正,另一方面演示下多容器运行的状态上报

第63讲:边缘节点实现kubectl logs 的设计方案(简易)
边缘节点的交互并没有这么简单,其中比较复杂的是网络不通。因此今天先放出个人方案,供大家借鉴

第64讲:手工实现容器exec/logs服务(1) 基本原理和环境搭建
本课程精髓课时开始。我们将在后面几课时模拟实现容器的exec和logs功能。注意,我们实现的是服务端,而不是客户端

第65讲:手工实现容器exec服务(2) 模拟实现持续性交互
这节课我们进阶一些,实现客户端程序和服务端连续交互。初步有"控制台“的雏形,下节课我们来搞得更逼真些

第66讲:无容器模拟实现远程shell(1) 基本效果
今天我们来模拟一个效果,使用客户端连接我们的模拟后台,就能显示出类似远程shell的效果。后面我们还需要完善

第67讲:无容器实现远程shell(2) 模拟终端输入和删除
今天开始进入主要核心代码部分


第68讲:无容器实现远程shell(2) 终端控制光标方向键移动的原理 试听
今天我们演示下边缘shell控制光标移动的原理


第69讲:无容器实现远程shell(3) 初步实现边缘终端的基本交互
本课时初步完成边缘终端的交互,下周进入具体命令的解析和执行


第70讲:无容器实现远程shell(4) 初步实现边缘端执行shell 命令
今天这课时我们就可以来实现边缘端执行shell命令操作了
本课程每周不定期更新






第四章:kubectl exec原理(补充章)
第50讲:基本原理结构、手扒源码进行简化
我们用3课时做个补充章节,这也是高频面试题。今天先说原理。下节课我们来魔改代码

第51讲:修改源码绕过k8s apiserver实现kubectl exec
今天我们玩个好玩的。绕过k8s apiserver实现exec

第52讲:手工写代码模拟kubectl exec ->apiserver->kubelet全过程
这课时我们把前面的代码整合在一起,手工写代码模拟apiserver、和kubelet 完整的模拟kubectl exec过程



 [更多课时戳这]


 
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数865
沙发#
发布于:2022-12-06 02:17
进入第二章
会讲故事的程序员
xxcode
资深老生
资深老生
  • UID3802
  • 粉丝0
  • 关注0
  • 发帖数3
  • 社区居民
板凳#
发布于:2022-12-24 14:13
学习ing
shenyi
管理员
管理员
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数865
地板#
发布于:2023-11-03 02:08
更至第70讲
会讲故事的程序员
游客

返回顶部