- 课程目录
- 课程介绍
-
在线阅读:开篇词|如何从源码视角深度学习Kubernetes?
Kubernetes 是云原生的基石,也是基建领域的基石。
-
加餐|探索Kubernetes源码学习方法与学习价值
Kubernetes 作为企业云原生的基石,是企业必备的技术栈。
-
01|究竟什么是云原生?
云原生包含了一系列的技术体系、方法论和云原生应用。
-
02|云原生中有哪些核心技术栈?(上)
这些技术栈,在你今后的研发生涯中,也会持续不断地应用到。
-
03|云原生中有哪些核心技术栈?(下)
这节课我们来深入学习云原生另外 5 个技术栈。
-
04|为什么要学习云原生技术及开发?
云原生时代诞生出了大量的新理念、新技术、新的开源项目,可以帮助我们拓展技术边界。
-
05|如何学习云原生技术?
学习云原生技术,既要有广度,又要有深度。
-
06|如何高效阅读Kubernetes源码?
如何阅读 Kubernetes 源码?阅读源码分为三个阶段。
-
07|如何给Kubernetes社区贡献源码?
如果你想给 Kubernetes 贡献源码,需要遵照 Kubernetes 的源码贡献流程。
-
08|Kubernetes架构及核心组件介绍
在本节课中,则会对 Kubernetes 的架构和核心组件进行更详细的讲解。
-
09|Kubernetes核心概念和资源介绍
本节课,将会详细介绍 Kubernetes 中的核心资源和核心概念,让你对 Kubernetes 有更全面的了解。
-
10|通过Pod创建流程来了解Kubernetes
从运行层面介绍 Kubernetes 的运行机制,带你了解 Kubernetes 的工作原理。
-
11|Kubernetes代码仓库介绍
看看 Kubernetes 是怎么“排兵布阵”的,让你更轻松地看懂 Kubernetes 源码。
-
12 | Kubernetes集群部署方法有哪些及如何选择?
带你快速搭建出满足需求的 Kubernetes 集群。
-
13 | 如何配置和创建一个Kind集群?
因为在学习本课程的过程中,需要频繁地创建、删除用于开发、测试的 Kind 集群。所以,本节课,我们详细介绍下 Kind,带你熟练掌握 Kind 工具,方便以后的学习。
-
14|如何在Kubernetes集群中部署Web服务?
得益于 Kubernetes 强大的功能,越来越多的软件选择在 Kubernetes 上部署,这几乎已经成为事实上的标准。这节课,我们一起学习怎么将 OneX 项目部署在 Kubernetes 中。
-
15|通过Kubernetes应用构建模型来看如何构建应用?
Kubernetes 中有很多组件,每个组件的功能都很复杂且不同。Kubernetes是如何构建这么复杂的应用的?这些组件的应用构建方式是否一致?Kubernetes 又是如何保持一致性的?这一节,我们从应用的启动框架中找到答案。
-
16 | 剖析Kubernetes应用构建模型
在 v1.10.0~v1.32.3 版本中,Kuberenetes 应用处在一个稳定的状态。那么,稳定之后的 Kubernetes 应用构建模型是什么样的?有什么值得我们学习的地方?本节课,我们一起来看看。
-
17 | Kubernetes如何设计REST资源?
kube-apiserver 是 Kubernetes 最核心、实现最复杂的组件,其他组件也都依赖它运行。这节课,我就结合 RESTful API 服务器的开发流程为你讲解 kube-apiserver 具体是如何设计 REST 资源的。
-
18|Kubernetes如何定义标准化资源对象?
Kubernetes 拥有如此庞大的代码量,仍然能够快速迭代和维护,其核心原因之一就是功能设计的标准化,包括 REST 资源对象的设计。本节课,我们来看下 Kubernetes 如何定义标准化的资源对象。
-
19|Kubernetes资源对象实现源码剖析
在Kubernetes文章、书籍或者课程中,你可能经常接触到资源对象、对象、对象属性、资源元数据这些概念,它们因为定义相近经常会被混淆。这节课我们就来系统梳理下,并重点剖析 Kubernetes资源对象的实现源码。
-
20 | 请求路径构建(上):如何设置RESTful API接口路径?
kube-apiserver本质上是一个Web服务器,对外提供标准化的RESTful API接口。RESTful API接口由请求方法、请求路径和请求参数构成。想要深入理解kube-apiserver的核心实现,就需要掌握构建RESTful API接口的三要素。
-
21 | 请求路径构建(下):如何根据资源对象构建请求路径?
Kubernetes在构建REST请求路径时,依赖于3个资源核心概念:Group、Version、Kind。这节课就详细介绍下Kubernetes中的资源核心概念,以及Kubernetes是如何基于这些核心概念来构建REST请求路径的。
-
22|Kubernetes支持哪些RESTful API接口?
Kubernetes的RESTful API不仅支持常规的CRUD操作,还扩展了状态更新、批量操作和实时监听等高级接口。
-
23|如何使用go-restful开发一个Web服务器?
Kubernetes的整个REST路由都是基于 go-restful包来构建的,这节课我们就来详细介绍下go-restful Web 框架的核心概念及使用方法。
-
24|Kubernetes路由构建源码剖析
本节课将为你详细介绍 kube-apiserver 构建路由的流程和细节知识。
-
25|Kubernetes HTTP请求处理流程详解
本节课详细介绍路由函数的实现,借此你可以明白 kube-apiserver 具体是如何处理请求的。
-
26|Kubernetes HTTP请求逻辑核心功能点详解
本节通过 Deployment 资源的创建请求为例,拆解了 kube-apiserver 从接收 HTTP 请求到数据最终落盘 etcd 的完整链路。
-
27|Kubernetes如何进行请求参数校验?
Kubernetes 中有大量的 RESTful API 接口,在请求这些接口的时候,要进行请求参数校验。
-
28|Kubernetes如何设置默认值?
上一节课,我介绍了如何校验请求参数。本节课,我再来介绍下如何给参数设置默认值。
-
29|Kubernetes默认值设置函数如何生成?
这节课我们一起来了解Kubernetes中默认值设置函数的生成过程。
-
30|Kubernetes API的版本兼容性机制详解
Kubernetes 如何能在快速更新迭代的同时,让企业应用所依赖的 API 版本实现平滑升级?这节课,我们就来一窥 Kubernetes 的 API 版本兼容性机制,帮助你在未来的企业应用开发中更好地处理相关工作。
-
31|Kubernetes中如何向稳定版本添加不稳定的功能?
在实际企业开发中,我们经常需要往一个稳定的 API 版本中添加一个可能不稳定的功能。本节课,我们就来看下 Kubernetes 中是如何向稳定版本添加不稳定功能的。
-
32|Kubernetes版本转换源码剖析
Kubernetes是如何处理多API版本带来的复杂度问题的呢?本节课,我们就来看下Kubernetes各种类型的版本之间是如何进行相互转换的。
-
33|kube-controller-mananger框架核心原理及源码剖析
课程的前半部分,我详细介绍了kube-apiserver中的核心内容。接下来将介绍声明式编程中另外一个核心角色:控制器kube-controller-manager。
-
34|kube-controller-mananger控制器插件源码剖析
本节课我将通过一个相对简单的具体控制器,为你展示控制器内部的源码结构及执行方式。
-
35|kube-scheduler框架核心原理及源码剖析
剖析 kube-scheduler 源码,深入学习 Kubernetes 的调度原理和实现。
-
36|kube-scheduler调度器源码剖析(上)
我将借助两节课的时间,带你深入探讨 kube-scheduler 的调度原理。
-
37|kube-scheduler调度器源码剖析(下)
调度队列管理、调度 Pod 流程是 kube-scheduler 的动态部分,是调度器的最核心逻辑。
-
38|扩展能力:Kubernetes提供了哪些扩展机制?
为了满足各大公司多样化的业务需求,Kubernetes 提供了极其强大的扩展能力。这节课,我们先来聊聊Kubernetes 提供了哪些扩展机制。
-
39|扩展能力:横向层、客户端层、API层扩展机制详解
上一节课,我概括介绍了 Kubernetes 提供的扩展机制。本节课,我来详细介绍 Kubernetes 在横向层、客户端层、API 层所提供的扩展机制。
-
40|扩展能力:控制面层、基础设施层扩展机制详解
本节课,我继续讲解 Kubernetes 扩展能力部分中的控制面层、基础设施层。
-
41|组件配置:Kubernetes组件配置详解
本节课,我们来详细介绍下 Kubernetes 社区在配置其自有组件时,遇到的一些问题、期望、思路和具体实现。学习 Kubernetes 配置组件的背景、方式和实现,也可以为我们配置企业应用的组件提供参考。
-
42|组件配置:Kubernetes组件配置开发实战
上一节课,我介绍了Kubernetes在配置内置组件时遇到的痛点及期望,以及为了解决这些痛点而开发的组件配置功能的一些实现方式。本节课,我们再来介绍如何编写代码,让一个组件支持通过配置文件的方式来配置。
-
43|Feature Gates(上):Kubernetes中的Feature Gates设计
为了让应用进程内感知到是否开启此功能,或者此功能的配置是什么,Kubernetes 提供了一种灵活、强大的重要机制——Feature Gates。这节课,我们就来详细聊一聊。
-
44|Feature Gates(下):Kubernetes中的Feature Gates开发实战
这节课,我们将通过一个实战示例为你展示了Feature Gates的具体的定义方法,并在代码中使用这个功能门控,为你介绍它的使用方式。
-
45|Leader Election:Kubernetes Leader Election原理解析
Kubernetes使用了Leader Election(领导者选举)机制,来确保多副本实例同时只有一个实例在处理资源。这节课,我们就来聊聊它的原理。
-
46|Leader Election:在Kubernetes中使用Leader Election的场景
本节课,我们来看 Kubernetes 中使用 Leader Election 的场景:让你对 Kubernetes 有更多深入理解,并且知道如何在一个大型项目中使用 Leader Election。
-
47|Leader Election:基于Lease的Leader Election源码剖析
本节课将为你详细介绍如何在自己的项目中使用 Kubernetes 的 Leader Election 能力开发竞态资源处理组件,并结合实战示例与剖析源码,讲解基于 Lease 资源的 Leader Election 具体实现。
-
48|通过API接口的定义流程学习Kubernetes API Server
这节课我们以“向 Kubernetes 主线代码中新增 Deployment 资源”为范例,把 API Server 处理一个内置资源所涉及的全部机制拆解成五大步骤。
-
49|动手实现一个Kubernetes Operator
在 Kubernetes 编程中,开发控制器的方式有 3 种。
-
50|Leader Election开发实战
如何使用 Kubernetes 的 client-go 中的 leaderelection 包实现有状态服务的多副本选主。
课程介绍
你将获得 云原生技术栈核心概念解读 手把手带你部署一个 K8s 集群 Kubernetes 核心组件源码设计及实现 Kubernetes 核心功能实现解析及实战 讲师介绍 课程介绍 Kubernetes...你将获得
- 云原生技术栈核心概念解读
- 手把手带你部署一个 K8s 集群
- Kubernetes 核心组件源码设计及实现
- Kubernetes 核心功能实现解析及实战
讲师介绍
课程介绍
Kubernetes 目前已然成为云原生应用的事实标准,越来越多的企业也正在将其应用采用原生化的方式部署,有些应用可能还会与 Kubernetes 强耦合,例如:应用可能会调用 Kubernetes API 接口执行一些监控、自运维相关的操作;有些应用还需要编写 Kubernetes Operator 来对应用进行生命周期管理。而到了 AI 时代,应用部署的标准仍然是云原生部署,即部署在 Kubernetes 集群中。
这就使得,从 2018 年到现在,甚至在可以预见的未来,Kubernetes 仍然是基建领域的基石,甚至有很多产品都离不开 Kubernetes 的支持,例如:DevOps、机器学习平台、容器服务、FaaS、离线任务、定时任务等等。
作为开发者,如果能够深入掌握 Kubernetes,包括其功能、实现原理和实现方式,可以让我们以很强的竞争力,参与到以 Kubernetes 为基石的云原生开发岗位中。当然,也包括目前火热的 AI Infra 相关岗位。如果简历上有熟悉 Kubernetes 源码等内容,也会大大提高简历的竞争力。
因此,这门课程我们邀请到孔令飞老师,他会基于自己在该领域多年的经验,帮助你从开发视角更透彻地掌握 Kubernetes,一起深入源码细节,剖析 Kubernetes 的实现方式与核心原理。最终,会通过项目实战的方式,带你掌握 Kubernetes 的编程技术,赋能业务开发,从而实现个人职业竞争力的提升及延伸!
课程目录
