万本电子书0元读

万本电子书0元读

顶部广告

Kubernetes源码剖析电子书

1 业内专家来炜、杨思杰、孙宏亮、宋净超联袂力荐。  2 这是一本从源码层面介绍Kubernetes的技术图书,从架构到源码,细致微,全面详尽。 3 本书主要介绍了Kubernetes构建中的源码实现、Kubernetes核心数据结构、kubectl命令行交互工具、client-go编程式交互工具、Etcd存储、kube-apiserver组件和kube-scheduler组件的核心实现等内容。 4 本书适合云计算领域的相关技术人员、Kubernetes发者、Go语言发者等阅读。

售       价:¥

纸质售价:¥66.20购买纸书

385人正在读 | 0人评论 6.2

作       者:郑东旭

出  版  社:电子工业出版社

出版时间:2020-06-01

字       数:18.3万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。由于Kubernetes代码量较大,源码不容易理解,所以本书将梳理相关知识,帮助读者快速学习。本书共分为8章,第1章简要介绍了Kubernetes架构的核心组件,以及每个核心组件在架构中的作用;第2章主要介绍了Kubernetes构建过程中的源码实现;第3章主要介绍了Kubernetes的核心数据结构定义及围绕资源展的核心功能;第4章主要介绍了kubectl命令行交互工具的实现机制;第5章主要介绍了client-go编程式交互工具的实现机制;第6章主要介绍了Etcd存储的核心实现;第7章主要介绍了kube-apiserver组件的核心实现;第8章主要介绍了kube-scheduler组件的核心实现。本书适合云计算领域的相关技术人员、Kubernetes发者、Go语言发者等阅读。<br/>【推荐语】<br/>1 业内专家来炜、杨思杰、孙宏亮、宋净超联袂力荐。  2 这是一本从源码层面介绍Kubernetes的技术图书,从架构到源码,细致微,全面详尽。 3 本书主要介绍了Kubernetes构建中的源码实现、Kubernetes核心数据结构、kubectl命令行交互工具、client-go编程式交互工具、Etcd存储、kube-apiserver组件和kube-scheduler组件的核心实现等内容。 4 本书适合云计算领域的相关技术人员、Kubernetes发者、Go语言发者等阅读。<br/>【作者】<br/>郑东旭(Derek Zheng),BFE(万亿流量转发引擎,https://github.com/baiidu/bfe)源项目的作者之一,擅长Linux下高性能服务器的发,对云计算、区块相关技术领域有深刻的理解。<br/>
目录展开

前折页

书名页

版权页

前言

第1章 Kubernetes架构

1.1 Kubernetes的发展历史

1.2 Kubernetes架构图

1.3 Kubernetes各组件的功能

1.3.1 kubectl

1.3.2 client-go

1.3.3 kube-apiserver

1.3.4 kube-controller-manager

1.3.5 kube-scheduler

1.3.6 kubelet

1.3.7 kube-proxy

1.4 Kubernetes Project Layout设计

第2章 Kubernetes构建过程

2.1 构建方式

2.2 本地环境构建

2.2.1 一切都始于Makefile

2.2.2 本地构建过程

2.3 容器环境构建

2.4 Bazel环境构建

2.4.1 使用Bazel构建和测试Kubernetes源码

2.4.2 Bazel的工作原理

2.5 代码生成器

2.5.1 Tags

2.5.2 deepcopy-gen代码生成器

2.5.3 defaulter-gen代码生成器

2.5.4 conversion-gen代码生成器

2.5.5 openapi-gen代码生成器

2.5.6 go-bindata代码生成器

2.6 代码生成过程

2.7 gengo代码生成核心实现

2.7.1 代码生成逻辑与编译器原理

2.7.2 收集Go包信息

2.7.3 代码解析

2.7.4 类型系统

2.7.5 代码生成

第3章 Kubernetes核心数据结构

3.1 Group、Version、Resource核心数据结构

3.2 ResourceList

3.3 Group

3.4 Version

3.5 Resource

3.5.1 资源外部版本与内部版本

3.5.2 资源代码定义

3.5.3 将资源注册到资源注册表中

3.5.4 资源首选版本

3.5.5 资源操作方法

3.5.6 资源与命名空间

3.5.7 自定义资源

3.5.8 资源对象描述文件定义

3.6 Kubernetes内置资源全图

3.7 runtime.Object类型基石

3.8 Unstructured数据

3.9 Scheme资源注册表

3.9.1 Scheme资源注册表数据结构

3.9.2 资源注册表注册方法

3.9.3 资源注册表查询方法

3.10 Codec编解码器

3.10.1 Codec编解码实例化

3.10.2 jsonSerializer与yamlSerializer序列化器

3.10.3 protobufSerializer序列化器

3.11 Converter资源版本转换器

3.11.1 Converter转换器数据结构

3.11.2 Converter注册转换函数

3.11.3 Converter资源版本转换原理

第4章 kubectl命令行交互

4.1 kubectl命令行参数详解

4.2 Cobra命令行参数解析

4.3 创建资源对象的过程

4.3.1 编写资源对象描述文件

4.3.2 实例化Factory接口

4.3.3 Builder构建资源对象

4.3.4 Visitor多层匿名函数嵌套

第5章 client-go编程式交互

5.1 client-go源码结构

5.2 Client客户端对象

5.2.1 kubeconfig配置管理

5.2.2 RESTClient客户端

5.2.3 ClientSet客户端

5.2.4 DynamicClient客户端

5.2.5 DiscoveryClient客户端

5.3 Informer机制

5.3.1 Informer机制架构设计

5.3.2 Reflector

5.3.3 DeltaFIFO

5.3.4 Indexer

5.4 WorkQueue

5.4.1 FIFO队列

5.4.2 延迟队列

5.4.3 限速队列

5.5 EventBroadcaster事件管理器

5.6 代码生成器

5.6.1 client-gen代码生成器

5.6.2 lister-gen代码生成器

5.6.3 informer-gen代码生成器

5.7 其他客户端

第6章 Etcd存储核心实现

6.1 Etcd存储架构设计

6.2 RESTStorage存储服务通用接口

6.3 RegistryStore存储服务通用操作

6.4 Storage.Interface通用存储接口

6.5 CacherStorage缓存层

6.5.1 CacherStorage缓存层设计

6.5.2 ResourceVersion资源版本号

6.5.3 watchCache缓存滑动窗口

6.6 UnderlyingStorage底层存储对象

6.7 Codec编解码数据

6.8 Strategy预处理

6.8.1 创建资源对象时的预处理操作

6.8.2 更新资源对象时的预处理操作

6.8.3 删除资源对象时的预处理操作

6.8.4 导出资源对象时的预处理操作

第7章 kube-apiserver核心实现

7.1 热身概念

7.1.1 go-restful核心原理

7.1.2 一次HTTP请求的完整生命周期

7.1.3 OpenAPI/Swagger核心原理

7.1.4 HTTPS核心原理

7.1.5 gRPC核心原理

7.1.6 go-to-protobuf代码生成器

7.2 kube-apiserver命令行参数详解

7.3 kube-apiserver架构设计详解

7.4 kube-apiserver启动流程

7.4.1 资源注册

7.4.2 Cobra命令行参数解析

7.4.3 创建APIServer通用配置

7.4.4 创建APIExtensionsServer

7.4.5 创建KubeAPIServer

7.4.6 创建AggregatorServer

7.4.7 创建GenericAPIServer

7.4.8 启动HTTP服务

7.4.9 启动HTTPS服务

7.5 权限控制

7.6 认证

7.6.1 BasicAuth认证

7.6.2 ClientCA认证

7.6.3 TokenAuth认证

7.6.4 BootstrapToken认证

7.6.5 RequestHeader认证

7.6.6 WebhookTokenAuth认证

7.6.7 Anonymous认证

7.6.8 OIDC认证

7.6.9 ServiceAccountAuth认证

7.7 授权

7.7.1 AlwaysAllow授权

7.7.2 AlwaysDeny授权

7.7.3 ABAC授权

7.7.4 Webhook授权

7.7.5 RBAC授权

7.7.6 Node授权

7.8 准入控制器

7.8.1 AlwaysPullImages准入控制器

7.8.2 PodNodeSelector准入控制器

7.9 进程信号处理机制

7.9.1 常驻进程实现

7.9.2 进程的优雅关闭

7.9.3 向systemd报告进程状态

第8章 kube-scheduler核心实现

8.1 kube-scheduler命令行参数详解

8.2 kube-scheduler架构设计详解

8.3 kube-scheduler组件的启动流程

8.3.1 内置调度算法的注册

8.3.2 Cobra命令行参数解析

8.3.3 实例化Scheduler对象

8.3.4 运行EventBroadcaster事件管理器

8.3.5 运行HTTP或HTTPS服务

8.3.6 运行Informer同步资源

8.3.7 领导者选举实例化

8.3.8 运行sched.Run调度器

8.4 优先级与抢占机制

8.5 亲和性调度

8.5.1 NodeAffinity

8.5.2 PodAffinity

8.5.3 PodAntiAffinity

8.6 内置调度算法

8.6.1 预选调度算法

8.6.2 优选调度算法

8.7 调度器核心实现

8.7.1 调度器运行流程

8.7.2 调度过程

8.7.3 Preempt抢占机制

8.7.4 bind绑定机制

8.8 领导者选举机制

8.8.1 资源锁

8.8.2 领导者选举过程

后折页

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部