shenyi
管理员
管理员
  • UID1
  • 粉丝31
  • 关注0
  • 发帖数604
阅读:1786回复:4

Operator实战第三波:手撸k8s原生cicd框架

楼主#
更多 发布于:2022-01-06 02:05
    本课程是Operator实战第三波。我们模仿tekton手撸一个k8s原生cicd框架。本课程是其中一个模块,task任务篇。并达到生产可用,供运维级开发同学工作中参考和借鉴。本课程不适合新手(需要同时已经掌握k8s、golang、operator的开发知识,且具备一定开发经验和基础)。
     课件需要向讲师私人索要(由于一些众所周知的原因,部分课时会故意留坑,VIP会员一对一口述讲解)
    前置课程:
     1、Operator实战第一波:手撸k8s原生http ingress网关
     2、k8s Operator实战进阶第二波
     3、k8s基础速学4(runC篇):容器运行时、cri、二开容器   (必须)
    
 
     第一章:Task模块的基本构建
 第1讲:开张课、课程基本内容、环境说明 试听
     老套路的开张课,讲解下本课程的基本内容、基本目标

第2讲:Task的crd定义(初稿)
    编码之前首先我们完成CRD的文件编写

第3讲:初步编写Task对象的基本结构
上节课我们写CRD,今天这节课我们写出Task的struct对象结构

第4讲:创建管理器、控制器等(复习课)
本课时是复习课

第5讲:创建任务(1):解析和POD创建初步
    根据前面两课时创建的内容。我们来初步根据yaml提交创建出POD 并且请大家思考一个重要问题,如何控制POD中每一个容器的运行顺序

第6讲:控制step运行顺序:原理 免费试听
本课时的内容其实就是如何控制POD中的容器,让它们按顺序执行。今天讲的是原理。代码是实现需要10课时左右时间,我们春节后再战

第7讲:控制step运行顺序:代码结构和原理

本质就是控制POD中容器运行顺序。上节课是纯原理,这节课我们来代码实现

第8讲:控制step运行顺序(2):保存镜像数据封装课(演示课)
关键部分,用于解析镜像数据

第9讲:控制step运行顺序(3):镜像数据的缓存处理

结合LRU算法完成镜像数据的保存

第10讲:“通用”入口程序开发(1):基本结构、wait机制实现
为了实现任务按顺序执行,我们需要写自己的拦截器。

第11讲:“通用”入口程序开发(2):运行入口和参数
今天我们支持运行入口的支持

第12讲:“通用”入口测试、容器注入基本实现思路 免费试听
完成通用入口基本代码,我们来做个测试并且说明下容器注入 “通用入口”的基本思路


第13讲:“通用”入口测试、容器注入基本实现思路(上节课改进)
在上节课基础上,我们进行通用容器注入测试,以实现初步功能

第14讲:代码构建任务之:任务初步运行(结合控制器)
有了通用入口,我们就可以让我们的 Task跑起来了

第15讲:代码构建任务之:任务初步运行(带镜像解析)
上节课是无脑运行。这节课带镜像解析,很重要


第16讲:代码构建任务之:监听POD状态,启动任务
今天我们正式启动task任务

第17讲:代码构建任务之:任务流转实现(无脑流转)
任务启动后需要流转,今天我们实现无脑流转

第18讲:代码构建任务之:任务流转之出错处理(粗暴方法)
一旦任务出错怎么办?今天先介绍粗暴解决方法,请大家思考优雅方式


第19讲:代码构建任务之:任务流转之出错处理(进阶版)
本课时支持任务出错后取消执行

第20讲:修补课:关于task POD名称自动加入随机字符串 免费试听
之前我们的POD名称是固定的,今天自动加入随机字符串


第21讲:扩展Task POD:支持Script属性,无视command和args(上)
这个功能我们花两课时来做,比较复杂。关键是思路。

第22讲:支持Script属性,无视command和args(下)
沿着上节课。完成功能。这样我们就能无视command和args了


第23讲:资源获取(1): 代码拉取git、task设计
本课时我们用代码的方式来拉取git内容,先从公仓开始

第24讲:资源获取(2): 结合secret代码拉取git私仓(体外)
上节课是公仓,这节课讲私仓。并结合secret



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


  单买课程很贵,建议加入我们VIP会员

会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝31
  • 关注0
  • 发帖数604
沙发#
发布于:2022-02-14 01:52
正式开始更新
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝31
  • 关注0
  • 发帖数604
板凳#
发布于:2022-02-25 01:42
开发通用入口拦截容器运行
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝31
  • 关注0
  • 发帖数604
地板#
发布于:2022-03-07 02:45
初步运行任务
会讲故事的程序员
shenyi
管理员
管理员
  • UID1
  • 粉丝31
  • 关注0
  • 发帖数604
4楼#
发布于:2022-05-06 02:00
第一章还有2课时完结
会讲故事的程序员
游客

返回顶部