展开全部

主编推荐语

从源码层面剖析Kubernetes,从架构到源码,细致入微,全面详尽。

内容简介

本书主要分析了Kubernetes核心功能的实现原理,是一本帮助读者了解Kubernetes架构设计及内部原理实现的书。

由于Kubernetes代码量较大,源码不容易理解,所以本书梳理相关知识点,帮助读者快速学习。

本书共分为8章,第1章简要介绍了Kubernetes架构的核心组件,以及每个核心组件在架构中的作用;第2章主要介绍了Kubernetes构建过程中的源码实现;第3章主要介绍了Kubernetes的核心数据结构定义及围绕资源展开的核心功能;第4章主要介绍了kubectl命令行交互工具的实现机制;第5章主要介绍了client-go编程式交互工具的实现机制;第6章主要介绍了Etcd存储的核心实现;第7章主要介绍了kube-apischmerver组件的核心实现;第8章主要介绍了kube-scheduler组件的核心实现。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 联系作者
  • 本书涉及的链接说明
  • 读者服务
  • 第1章 Kubernetes架构
  • 1.1 Kubernetes的发展历史
  • 1.2 Kubernetes架构图
  • 1.3 Kubernetes各组件的功能
  • 1.3.1 kubectl
  • 1.3.2 client-go
  • 1.3.3 kube-apischmerver
  • 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-apischmerver核心实现
  • 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-apischmerver命令行参数详解
  • 7.3 kube-apischmerver架构设计详解
  • 7.4 kube-apischmerver启动流程
  • 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 领导者选举过程
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。