阅读:4613回复:1
k8s基础速学4(runC篇):容器运行时、cri、二开容器
之前我们开过基础速学1、2,3 。 其中 1和2是给小白快速入门k8s用的(运维同学不需要看)。基础速学3 包含了基本的k8s应用、Operator入门、webhook编写、日志收集等,后面还会一直更、一直更、一直更,主要是应用为主。 近1年可能都不会完结。
k8s基础速学4分为若干子课程,本篇是第一个子课程: 重点讲的是runC(容器、POD),讲完原理和操作后,我们会模拟做个简易docker(部分功能,全部做出来是不现实的),后续课程还需要讲成品容器运行时和二开,并和k8s相结合。本课程不适合新手,需要较为熟练的golang代码水平、Linux知识、docker知识、k8s知识等 本课程中的基础是指:基础组件建设,所以叫“基础”,不是指内容很简单 第二章:Containerd和cri开发 第19讲:手动部署Containerd 、了解cri和初步调用 进入第二章,我们快速部署Containerd、学习并了解cri。并纯手工调用 第20讲:手撸容器客户端(1):基本代码结构 为了更好的熟悉cri和containerd操作。 我们从手撸简易客户端开始 第21讲:手撸容器客户端(2): 打印镜像列表 今天我们实现的是打印镜像列表 第22讲:创建POD(上):命令行方式 今天演示下POD创建方式,先用命令行,下节课上代码 第23讲:创建POD(中):代码方式创建POD(单POD) 免费试听 今天用代码的方式创建POD(只有沙箱) 第24讲:创建POD(下):代码方式创建容器(带POD)(演示课) 演示课,代码较多。大家可以向我索要课件 第25讲:实现容器列表 加载 免费试听 今天我们实现容器列表的加载 第26讲:实现容器Exec功能(1):非终端模式 今天我们来实现容器的Exec功能。 第27讲:实现容器Exec功能(2):TTY模式 (选学) 每周更新2-4课时 第一章:runC基本操作 第1讲:开张课、课程基本内容、搭建环境 免费试听,无需登录 老套弄的开张课,讲一下课程基本内容。搭建下环境。 第2讲:OCI规范、Config.json配置、运行容器 废话不多说,今天我们开始允许出第一个简陋的容器 第3讲:让容器detach模式运行golang http程序 今天我们搞一个http程序,使用我们简陋的容器来运行。 第4讲:挂载文件夹运行容器、exec命令 今天我们来实现文件挂载和exec进入容器执行命令 第5讲:给容器配置网络(上):虚拟网卡设置 目前我们的容器没有网络。 由于网络会有专门的课程,本课程我们做个基本的操作 第6讲:给容器配置网络(下):访问容器http服务、端口映射(外部访问) 免费试听,无需登录 有了上节课的基础,我们就可以来配置容器程序的网络访问和端口映射 第7讲:K8s POD 沙箱sandbox、多容器共享网络 今天我们结合K8s的POD创建和多容器共享网络的原理 ,并且用runC来模拟 第8讲:使用runC来运行pause容器 今天我们使用runC运行pause容器 第9讲:模拟POD之多容器网络共享(命令行模式)(上) 有了前面两课时基础,我们就可以动手来模拟POD中多容器共享网络的功能 第10讲:模拟POD之多容器网络共享(命令行模式)(下) 沿着上节课我们完成多容器POD网络共享 第11讲:模拟POD之共享进程命名空间和通信 今天我们来模拟POD中的容器进程共享和通信 第12讲:使用runc配置容器Cgroups资源限制(CPU) 免费试听 原理在公开课讲过,今天我们用runC来实现容器的Cgroups限制 第13讲:OCI规范之Image Spec规范 免费试听 之前我们讲的是Runtime规范,今天我们来简单说下镜像规范 第14讲:OCI规范之Image Spec规范(2):镜像分层(演示) 本课时选学。只需要看下课程操作即可 第15讲:(选学)OCI规范之Image Spec规范(3): 使用umoci制作镜像文件 既然是选学,只要看看过程即可 第16讲:(选学)OCI规范之Image Spec规范(4): 发布镜像到阿里云仓库 (选学) 选学课。查看下基本的发布方式。(过程并没有搞完整,只需要观看基本的过程) 第17讲:OCI规范之分发规范入门(看看即可) 这是除了Runtime规范、 Image规范后的另外一个规范:分发规范 第18讲:小案例:使用代码来获取镜像信息、entrypoint等 本课程是一个补充课时,讲解下如何用代码解析镜像信息 |
|
|