shenyi
资深校友
资深校友
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数901
阅读:4854回复:2

k8s速学4子课程:自定义CSI插件开发简单入门

楼主#
更多 发布于:2023-01-06 02:12
   本课程是 k8s速学4系列的子课程。

    
   众所周知:
     Kubernetes作为云原生应用的的基础调度平台,相当于云原生的操作系统,为了便于系统的扩展,Kubernetes中开放的以下接口,可以分别对接不同的后端,来实现自己的业务逻辑:
   CRI(Container Runtime Interface):容器运行时接口,提供计算资源     k8s速学4母课程讲过
   CNI(Container Network Interface):容器网络接口,提供网络资源        之前开过一个入门引导课 : k8s CNI插件开发基础入门篇
   CSI(Container Storage Interface):容器存储接口,提供存储资源     就是本课程


  本课程对csi插件做个入门级的引导开发教学。本课程不适合新手,需要熟练掌握k8s基操、golang开发、Linux相关内核知识点。
  分两章:
    第一章是无脑模拟和基操代码
    第二章搞一个nfs的例子做个教学。不打算长篇大论,仅仅是入门开发级引导(开发为主)
    由于众所周知的原因,课程关键细节会故意留坑,VIP学员一对一口述讲解


第二章:手撸nfs csi插件
第9讲:回顾整个csi的结构、课前准备 试听
今天进入第二章,先做个课前准备和复习

第10讲:Nfs 服务简配、node端代码初步编写
今天快速配置一个nfs server(之前讲过)。并开始编写Node插件的代码

第11讲:node端代码之NodeUnpublishVolume 实现、部署测试
粗暴实现nfs 反挂卸载。下节课我们从卷开始细化创建。

第12讲:创建卷代码 (1): 基本思路和参数理解
沿着前面的课程,我们进行代码拆分。今天我们进入卷创建过程

第13讲:创建卷代码 (2): "创建"POD专属挂载目录
上节课讲到卷的创建原理。今天我们进阶下,看下是如何根据POD创建专门的挂载目录的


第14讲:创建卷代码 (3): 实现卷的清理
今天我们完成卷的清理




本课程每周更新1-2课时






第一章:无脑模拟和基本运行
第1讲:开张课、课程内容、csi基本概念 试听
  老套弄的开张课,讲解基本概念,csi规范的引导。下节课直接开始写代码

第2讲:ControllerService 的基本构建(1):模拟创建volume、csi-provisioner作用
  直接开始写代码,没啥好啰嗦的,并介绍csi-provisioner组件的作用

第3讲:ControllerService 的基本构建(2):设置Capabilities、挂载过程简述
今天补充上节课的代码,并且说下挂载过程

第4讲:Identity Service 的基本构建代码 试听
身份认证服务的基本模拟代码

第5讲:NodeService 的基本构建代码(演示)、Volume的生命周期
今天我们快速写完NodeService的基本代码,顺便说下Volume

第6讲:CSI插件入口文件的基本代码编写
今天演示下csi插件入口文件的代码编写

第7讲:模拟的csi插件:基本部署方式和测试运行
前面课时我们写了模拟的csi插件(还没有什么功能),今天讲一下如何部署

第8讲:创建pod简单测试一下自定义csi插件 试听
根据上节课内容,简单做下测试

 

最新喜欢:

wangchunxingwangch...
会讲故事的程序员
shenyi
资深校友
资深校友
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数901
沙发#
发布于:2023-04-13 02:30
更至第13讲 。
会讲故事的程序员
shenyi
资深校友
资深校友
  • UID1
  • 粉丝45
  • 关注0
  • 发帖数901
板凳#
发布于:2023-05-18 02:20
后面可能还会有补充课时
会讲故事的程序员
游客

返回顶部