阅读:5007回复:5
Operator实战第三波:手撸k8s原生cicd框架
本课程是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 第25讲:资源获取(3): 结合secret代码拉取git私仓(体内)上部 前面课时我们演示的是体外,今天演示体内拉取的方式 第26讲:资源获取(3): 结合secret代码拉取git私仓(体内)下部 紧接着上节课 完成体内拉取。 第一章完结 第一章完结 下一章要做流水线。但是要等cue工作流课程讲完开始更新。地址在这https://www.jtthink.com/course/177 单买课程很贵,建议加入我们VIP会员 |
|
|