前言 iii
第 1章 背景回顾:云原生大事记 2
1.1 初出茅庐 2
1.2 崭露头角 6
1.3 群雄并起 8
1.4 尘埃落定 11
第 2章 容器技术基础 17
2.1 从进程开始说起 17
2.2 隔离与限制 21
2.3 深入理解容器镜像 27
2.4 重新认识Linux容器 36
第3章 Kubernetes设计与架构 47
3.1 Kubernetes核心设计与架构 47
3.2 Kubernetes核心能力与项目定位 51
第4章 Kubernetes集群搭建与配置 56
4.1 Kubernetes部署利器:kubeadm 56
4.2 从0到1:搭建一个完整的Kubernetes集群 63
4.3 第 一个Kubernetes应用 73
第5章 Kubernetes编排原理 82
5.1 为什么我们需要Pod 82
5.2 深入解析Pod对象 91
5.3 Pod对象使用进阶 96
5.4 编排确实很简单:谈谈“控制器”思想 109
5.5 经典PaaS的记忆:作业副本与水平扩展 112
5.6 深入理解StatefulSet(一):拓扑状态 121
5.7 深入理解StatefulSet(二):存储状态 127
5.8 深入理解StatefulSet(三):有状态应用实践 133
5.9 容器化守护进程:DaemonSet 147
5.10 撬动离线业务:Job与CronJob 156
5.11 声明式API与Kubernetes编程范式 166
5.12 声明式API的工作原理 175
5.13 API编程范式的具体原理 185
5.14 基于角色的权限控制:RBAC 196
5.15 聪明的微创新:Operator 工作原理解读 204
第6章 Kubernetes存储原理 217
6.1 持久化存储:PV和PVC的设计与实现原理 217
6.2 深入理解本地持久化数据卷 226
6.3 开发自己的存储插件:FlexVolume与CSI 233
6.4 容器存储实践:CSI插件编写指南 242
第7章 Kubernetes网络原理 253
7.1 单机容器网络的实现原理 253
7.2 深入解析容器跨主机网络 260
7.3 Kubernetes网络模型与CNI网络插件 268
7.4 解读Kubernetes三层网络方案 276
7.5 Kubernetes中的网络隔离:NetworkPolicy 285
7.6 找到容器不容易:Service、DNS与服务发现 293
7.7 从外界连通Service与Service 调试“三板斧” 299
7.8 Kubernetes中的Ingress对象 304
第8章 Kubernetes调度与资源管理 312
8.1 Kubernetes的资源模型与资源管理 312
8.2 Kubernetes的默认调度器 317
8.3 Kubernetes默认调度器调度策略解析 321
8.4 Kubernetes默认调度器的优先级和抢占机制 326
8.5 Kubernetes GPU管理与Device Plugin 机制 330
第9章 容器运行时 335
9.1 幕后英雄:SIG-Node与CRI 335
9.2 解读CRI与容器运行时 339
9.3 绝不仅仅是安全:Kata Containers与gVisor 343
第 10章 Kubernetes监控与日志 349
10.1 Prometheus、Metrics Server与Kubernetes监控体系 349
10.2 Custom Metrics:让Auto Scaling不再“食之无味” 353
10.3 容器日志收集与管理:让日志无处可逃 358
第 11章 Kubernetes应用管理进阶 366
11.1 再谈Kubernetes的本质与云原生 366
11.2 声明式应用管理简介 368
11.3 声明式应用管理进阶 370
11.4 打造以应用为中心的Kubernetes 374
第 12章 Kubernetes开源社区 378
结语 Kubernetes:赢开发者赢天下 382
^ 收 起