作品简介

《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下高性能服务器的开发,对云计算、区块链相关技术领域有深刻的理解。

作品目录

  • 前言
  • 第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 领导者选举机制
展开全部