作者: 郑东旭
出版社: 电子工业出版社
出版年: 2020-06
ISBN: 9787121389146
~~滚到底部有网盘下载链接~~
内容简介
《Kubernetes源码剖析 》主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码不容易理解,所以本书将梳理相关知识点,帮助读者快速学习。
本书共分为8章,第1章简要介绍了Kubernetes架构的核心组件,以及每个核心组件在架构中的作用;第2章主要介绍了Kubernetes构建过程中的源码实现;第3章主要介绍了Kubernetes的核心数据结构定义及围绕资源展开的核心功能;第4章主要介绍了kubectl命令行交互工具的实现机制;第5章主要介绍了client-go编程式交互工具的实现机制;第6章主要介绍了Etcd存储的核心实现;第7章主要介绍了kube-apiserver组件的核心实现;第8章主要介绍了kube-scheduler组件的核心实现。
郑东旭(Derek Zheng),BFE开源项目的作者之一,擅长Linux下高性能服务器的开发,对云计算、区块链相关技术领域有深刻的理解。
本书共分为8章,第1章简要介绍了Kubernetes架构的核心组件,以及每个核心组件在架构中的作用;第2章主要介绍了Kubernetes构建过程中的源码实现;第3章主要介绍了Kubernetes的核心数据结构定义及围绕资源展开的核心功能;第4章主要介绍了kubectl命令行交互工具的实现机制;第5章主要介绍了client-go编程式交互工具的实现机制;第6章主要介绍了Etcd存储的核心实现;第7章主要介绍了kube-apiserver组件的核心实现;第8章主要介绍了kube-scheduler组件的核心实现。
郑东旭(Derek Zheng),BFE开源项目的作者之一,擅长Linux下高性能服务器的开发,对云计算、区块链相关技术领域有深刻的理解。
目录
前言
第1章 Kubernetes架构
1.1 Kubernetes的发展历史
1.2 Kubernetes架构图
1.3 Kubernetes各组件的功能
1.4 Kubernetes Project Layout设计
第2章 Kubernetes构建过程
2.1 构建方式
2.2 本地环境构建
2.3 容器环境构建
2.4 Bazel环境构建
2.5 代码生成器
2.6 代码生成过程
2.7 gengo代码生成核心实现
第3章 Kubernetes核心数据结构
3.1 Group、Version、Resource核心数据结构
3.2 ResourceList
3.3 Group
3.4 Version
3.5 Resource
3.6 Kubernetes内置资源全图
3.7 runtime.Object类型基石
3.8 Unstructured数据
3.9 Scheme资源注册表
3.10 Codec编解码器
3.11 Converter资源版本转换器
第4章 kubectl命令行交互
4.1 kubectl命令行参数详解
4.2 Cobra命令行参数解析
4.3 创建资源对象的过程
第5章 client-go编程式交互
5.1 client-go源码结构
5.2 Client客户端对象
5.3 Informer机制
5.4 WorkQueue
5.5 EventBroadcaster事件管理器
5.6 代码生成器
5.7 其他客户端
第6章 Etcd存储核心实现
6.1 Etcd存储架构设计
6.2 RESTStorage存储服务通用接口
6.3 RegistryStore存储服务通用操作
6.4 Storage.Interface通用存储接口
6.5 CacherStorage缓存层
6.6 UnderlyingStorage底层存储对象
6.7 Codec编解码数据
6.8 Strategy预处理
第7章 kube-apiserver核心实现
7.1 热身概念
7.2 kube-apiserver命令行参数详解
7.3 kube-apiserver架构设计详解
7.4 kube-apiserver启动流程
7.5 权限控制
7.6 认证
7.7 授权
7.8 准入控制器
7.9 进程信号处理机制
第8章 kube-scheduler核心实现
8.1 kube-scheduler命令行参数详解
8.2 kube-scheduler架构设计详解
8.3 kube-scheduler组件的启动流程
8.4 优先级与抢占机制
8.5 亲和性调度
8.6 内置调度算法
8.7 调度器核心实现
8.8 领导者选举机制
第1章 Kubernetes架构
1.1 Kubernetes的发展历史
1.2 Kubernetes架构图
1.3 Kubernetes各组件的功能
1.4 Kubernetes Project Layout设计
第2章 Kubernetes构建过程
2.1 构建方式
2.2 本地环境构建
2.3 容器环境构建
2.4 Bazel环境构建
2.5 代码生成器
2.6 代码生成过程
2.7 gengo代码生成核心实现
第3章 Kubernetes核心数据结构
3.1 Group、Version、Resource核心数据结构
3.2 ResourceList
3.3 Group
3.4 Version
3.5 Resource
3.6 Kubernetes内置资源全图
3.7 runtime.Object类型基石
3.8 Unstructured数据
3.9 Scheme资源注册表
3.10 Codec编解码器
3.11 Converter资源版本转换器
第4章 kubectl命令行交互
4.1 kubectl命令行参数详解
4.2 Cobra命令行参数解析
4.3 创建资源对象的过程
第5章 client-go编程式交互
5.1 client-go源码结构
5.2 Client客户端对象
5.3 Informer机制
5.4 WorkQueue
5.5 EventBroadcaster事件管理器
5.6 代码生成器
5.7 其他客户端
第6章 Etcd存储核心实现
6.1 Etcd存储架构设计
6.2 RESTStorage存储服务通用接口
6.3 RegistryStore存储服务通用操作
6.4 Storage.Interface通用存储接口
6.5 CacherStorage缓存层
6.6 UnderlyingStorage底层存储对象
6.7 Codec编解码数据
6.8 Strategy预处理
第7章 kube-apiserver核心实现
7.1 热身概念
7.2 kube-apiserver命令行参数详解
7.3 kube-apiserver架构设计详解
7.4 kube-apiserver启动流程
7.5 权限控制
7.6 认证
7.7 授权
7.8 准入控制器
7.9 进程信号处理机制
第8章 kube-scheduler核心实现
8.1 kube-scheduler命令行参数详解
8.2 kube-scheduler架构设计详解
8.3 kube-scheduler组件的启动流程
8.4 优先级与抢占机制
8.5 亲和性调度
8.6 内置调度算法
8.7 调度器核心实现
8.8 领导者选举机制