课程简介
本套课程《Kubernetes源码二次开发系列(云原生STO)》旨在引领零基础学员轻松玩转K8s开发。本次更新涵盖系列一、系列二、系列三,官方售价仅需1098元,而您将获得的价值远超价格。
这套课程将带您深入剖析Kubernetes源码背后的奥秘,从运维开发的角度进行讲解。您将了解Kubernetes联合创始人的项目背景,以及社区功能开发架构的设计理念。课程将揭示源码编译的底层原理,包括代码生成器和核心数据结构、核心API等。此外,您还将学习编程式交互client-go原理与实战,掌握实际操作技巧。
这套课程将帮助您在短时间内迅速掌握K8s开发的精髓,提升在云原生技术领域的核心竞争力。无论您是开发人员还是运维工程师,本课程都将为您打开新的视野,助您在云原生领域取得更大的成就。
课程截图
课程截图
课程目录
序号 | 课程模块/子章节标题 | 内容描述 |
---|---|---|
一 | kubernetes源码二次开发系列预备知识 – Go语言核心开发 | 1. gomodule依赖管理系统进阶:深入讲解Go语言gomodule的高级特性与使用技巧 |
2. gomodule引用第三方库的使用:详解如何在项目中正确引入和管理第三方库 | ||
3. cobra库探索及认识:介绍Go语言中的cobra库,探讨其功能和应用场景 | ||
4. cobra库安装与开发环境配置:指导如何安装并设置cobra库的开发环境 | ||
5. cobra源码解读:深度剖析cobra库内部工作原理和关键代码实现 | ||
二 | kubeadm架构与核心源码分析 | 1. kubeadm诞生背景与价值:回顾kubeadm工具产生的背景及其在Kubernetes集群部署中的重要地位 |
2. kubeadm架构与组件:详细介绍kubeadm的基本架构以及各组件的功能和交互方式 | ||
3. kubeadm核心源码部分:解析kubeadm主要功能模块的源码,了解其实现机制 | ||
4. kubeadm reset源码解读:详细解读kubeadm重置集群操作背后的源码逻辑 | ||
三 | kubeadminit初始化流程核心代码剖析 | 1. preflight检查源码解读:详述kubeadminit初始化前的预检查阶段源码分析 |
2. certs源码解读:深入研究kubeadminit生成各类证书的核心代码 | ||
3. kubeconfig源码解读:解析kubeadminit创建kubeconfig文件的关键步骤 | ||
4. kubeletstart源码解读:分析kubeadminit启动kubelet服务的相关源码 | ||
5. control-plane源码解读:解读控制平面节点初始化的核心代码 | ||
6. etcd源码解读:探究etcd集群初始化过程的源码细节 | ||
7. waitcontrolplane源码解读:理解等待控制平面就绪的源码实现 | ||
8. uploadconfig源码解读:讲解上传集群配置信息至API Server的过程和源码 | ||
9. uploadcerts源码解读:详解证书上传至集群节点的操作逻辑及源码 | ||
10. markcontrolplane源码解读:分析标记主节点的源码逻辑 | ||
11. bootstraptoken源码解读:深入剖析Bootstrap Token创建和使用的源码 | ||
12. addons源码解读:解读kubeadminit初始化过程中Addon组件部署的源码 | ||
四 | kubeadmjoin工作流程剖析(源码到实践深入浅出) | kubeadmjoin工作流程剖析:结合源码分析kubeadm加入节点的工作流程,从理论到实践全面解析 |
五 | kubeadm-ansible自动化部署与运维实战 | 1. ansible环境配置介绍:介绍如何配置适用于kubeadm的Ansible环境 |
2. ansible-site入口配置介绍:详解Ansible站点配置文件的编写方法和作用 | ||
3-5. kubeadm-ansibleroles角色介绍:逐一解读系统初始化、全局变量、容器运行时等角色 | ||
6-8. kubeadm-ansibleroles角色(kubeadmin部分):深入剖析kubeadmin角色的配置与实现 | ||
9. join节点自动化流程:介绍通过Ansible实现新节点自动加入集群的过程与源码分析 | ||
10. kubernetes-operator概念介绍:讲解Operator模式在Kubernetes中的应用与价值 | ||
11. kubeadm-ansible网络cni插件calico-opera配置:演示如何使用Ansible配置Calico CNI插件 | ||
12. kubeadm-ansible一键安装k8s集群:演示如何利用Ansible实现一键部署Kubernetes集群 | ||
13. kubeadm-ansible一键扩容k8s-node节点:讲解并演示如何快速扩展集群节点数量 | ||
14. kubeadm-ansible一键卸载(清理整个部署环境):介绍如何安全地删除整个集群及其环境配置 |
序号 | 课程模块/子章节标题 | 内容描述 |
---|---|---|
1 | 源码角度重新认识Kubernetes | 从源码视角理解Kubernetes:以源码为线索,全面解析Kubernetes的内部机制与设计原理 |
2 | Kubernetes起源与发展 | Kubernetes的联合创始人及背后的历史:介绍Kubernetes项目的创立背景、主要贡献者及其发展历程 |
3 | Kubernetes架构设计与组件 | Kubernetes架构设计与组件详解:深入探讨Kubernetes的核心组件以及整体架构设计思路 |
4 | Kubernetes功能开发流程 | Kubernetes功能开发全流程概览:讲解在Kubernetes中实现新功能所需的完整开发流程和步骤 |
5 | 理解Kubernetes代码结构 | 剖析Kubernetes代码结构:系统性地梳理Kubernetes项目源码目录结构及其组织方式 |
6 | 本地编译Kubernetes代码流程 | Kubernetes源码本地编译指南:详细演示如何在本地环境编译Kubernetes项目源码 |
7 | Kubernetes源码中的五种代码生成器解读 | 代码生成器详解:逐一分析defaulter-gen , openapi-gen , prerelease-lifecycle-gen , conversion-gen , deepcopy-gen 这五种代码生成器的工作原理与使用方法 |
8-9 | code generation tools 深度解读(conversion-gen & deepcopy-gen) | conversion-gen源码解读:深入解析资源对象类型转换的代码生成器 deepcopy-gen源码解读:研究用于生成深度拷贝函数的代码生成器 |
10 | defaulter-gen代码生成器源码解读 | 默认值设置代码生成:详述如何通过defaulter-gen工具为API对象添加默认值逻辑的源码分析过程 |
11-12 | OpenAPI相关代码生成器解读(openapi-gen & runtime.object类型接口) | openapi-gen源码解读:详解OpenAPI规范下代码生成器的工作原理 runtime.object类型接口:解释Kubernetes中资源对象统一接口的作用与实现细节 |
13-24 | Kubernetes核心数据结构与资源管理 | 三大核心数据结构:分别介绍group资源组、version版本、resource资源,并探讨它们之间的关系 资源对象生命周期:讨论资源对象的内部与外部版本、定义、注册、优选版本等关键概念 自定义资源CRD:详解自定义资源创建与管理的相关知识 资源操作与命名空间:讲述资源的操作方式与命名空间管理原则 |
25-39 | Kubernetes核心数据结构与组件进一步探究(scheme、codec、converter等) | scheme资源注册表:详细介绍scheme的数据结构、注册与查询方法 codec编解码器:深入剖析codec编解码器的工作原理、序列化器(JSON/YAML/protobuf)及实例化机制 converter资源转换器:详解不同类型资源间的转换机制与其实现方法 |
40-79 | client-go库详解与实战操作 | client-go源码结构与客户端交互对象:介绍client-go的基本结构、四种客户端交互对象及其kubeconfig配置管理信息 client-go高级功能:探讨informer架构设计、reflector工作原理、各种队列机制(FIFO、延迟队列、限速队列)以及eventbroadcaster事件管理器机制 client-go代码生成器系列:剖析client-gen、lister-gen、informer-gen作用与用法 |
70-85 | client-go实战操作教程 | 基础操作:指导如何使用client-go进行集群内应用程序向Kubernetes API进行认证通信、获取资源列表、创建Pod、Deployment等 进阶应用:逐步教授编写自定义控制器、Leader选举实现,以及利用Python客户端完成PVC监视、Deployment创建等任务 |
86-89 | 探索与实践Kubernetes API | Kubernetes API探索:了解并实践HTTP接口调用、命令行工具使用技巧以及请求处理实现机制 |
序号 | 课程模块/子章节标题 | 内容描述 |
---|---|---|
1 | Kubernetes二次开发概述:Kubernetes开发概念 | Kubernetes二次开发入门:介绍Kubernetes二次开发的基本概念、主要流程以及需要注意的关键点,为后续深入学习奠定基础 |
2 | 自定义资源示例展示 | 自定义资源CR及CRD实例演示:通过一个具体的自定义资源示例,展示如何在Kubernetes中创建和使用自定义资源(CR)及其定义(CRD) |
3 | 扩展Kubernetes系统的方法与实践 | 扩展Kubernetes系统机制:讲解如何基于Kubernetes API进行功能扩展,以满足特定业务需求或优化现有功能 |
4-7 | Kubernetes控制器原理与实现 | Kubernetes控制器控制循环:剖析控制器的工作模式及其执行周期 Watch事件及Event对象:详细介绍控制器如何监听资源变化并处理事件 控制器触发机制:解释控制器的两种触发更新资源状态的方式 资源对象状态管理逻辑:解析控制器如何管理和维护资源对象的目标状态与实际状态之间的同步 |
8 | Kubernetes乐观并发控制模型 | 乐观锁与并发控制:探讨Kubernetes控制器中采用的乐观并发控制模型,确保资源操作的原子性和一致性 |
9 | 理解Operator在Kubernetes中的应用 | Operator基础概念与作用:阐述Operator作为高级自动化运维工具在Kubernetes中的地位和价值,以及其工作原理 |
10-15 | 深入自定义资源CRD开发 | CR与CRD的区别:明确区分自定义资源(CR)与自定义资源定义(CRD)的不同角色和作用 资源类型发现:演示如何在Kubernetes中发现并使用不同类型的资源 CRD资源类型定义详解:详细解读CRD的结构与设计方法 CR功能验证:指导如何对自定义资源的功能进行测试与验证 CR自定义高级功能:介绍如何为CR提供shortname、自定义列打印等功能支持 |
16-17 | CRD中的高级特性 | Status Subresource:探讨如何利用status subresource跟踪CR的状态信息 Scale Subresource:讲解如何集成水平自动扩缩容能力到自定义资源中 |
18 | 动态客户端client-go与自定义资源交互 | 使用动态客户端访问CRD资源:借助client-go库的动态客户端API,实现对自定义资源的动态编程访问和管理 |
19 | 理解Kubernetes类型结构 | 深入剖析Kubernetes类型系统:详细解析Kubernetes中的类型结构及其重要性,以便于二次开发时更好地理解和操作资源对象 |
20 | Go语言包结构与Kubernetes二次开发的关系 | Go包结构的重要性:讲解Go语言中包结构的设计原则,并分析其在Kubernetes二次开发中的应用和组织方式 |
23 | 使用Operator第三方库sample-controller进行二次开发实战 | Operator实战开发:通过使用sample-controller等Operator第三方库,指导开发者实现自定义控制器及Operator的开发过程,从而更好地掌握Kubernetes二次开发技能 |
THE END