第1章 初识Kubernetes 1
1.1 Kubernetes的背景 1
1.1.1 编排器 1
1.1.2 容器化应用 1
1.1.3 云原生应用 2
1.1.4 微服务应用 2
1.2 Kubernetes的诞生 3
1.2.1 Kubernetes和Docker 3
1.2.2 Kubernetes与Docker Swarm对比 4
1.2.3 Kubernetes和Borg:抵抗是徒劳的 5
1.2.4 Kubernetes—名字从何而来 5
1.3 云操作系统 6
1.3.1 云的规模 6
1.3.2 应用的调度 7
1.3.3 一个简单的模拟 7
1.4 总结 7
第2章 Kubernetes操作概览 9
2.1 Kubernetes概览 9
2.1.1 作为集群的Kubernetes 9
2.1.2 作为编排器的Kubernetes 10
2.1.3 Kubernetes是如何工作的 11
2.2 主节点与工作节点 12
2.2.1 主节点(控制平面) 12
2.2.2 工作节点 15
2.3 Kubernetes DNS 17
2.4 Kubernetes的应用打包 17
2.5 声明式模型与期望状态 18
2.6 Pod 20
2.6.1 Pod与容器 20
2.6.2 Pod深度剖析 21
2.6.3 调度单元 22
2.6.4 原子操作单位 22
2.6.5 Pod的生命周期 22
2.7 Deployment 23
2.8 服务与稳定的网络 23
2.9 总结 26
第3章 安装Kubernetes 27
3.1 Kubernetes练习环境 27
3.2 托管的Kubernetes环境 27
3.3 自定义Kubernetes集群 28
3.4 安装Kubernetes 28
3.5 Play with Kubernetes 28
3.6 桌面版Docker 31
3.7 Google Kubernetes引擎(GKE) 32
3.8 其他安装方法 34
3.9 kubectl 34
3.10 总结 36
第4章 Pod的使用 37
4.1 Pod原理 37
4.1.1 Pod和容器 38
4.1.2 多容器Pod:典型示例 38
4.1.3 如何部署Pod 39
4.1.4 “解剖”Pod 40
4.1.5 Pod与共享网络 40
4.1.6 Pod与CGroup 42
4.1.7 Pod的原子部署 42
4.1.8 Pod的生命周期 42
4.1.9 小结 43
4.2 Pod实战 43
4.2.1 Pod清单文件 44
4.2.2 清单文件:共情即代码 45
4.2.3 基于清单文件部署Pod 46
4.2.4 查看运行中的Pod 46
4.2.5 kubectl describe 48
4.2.6 kubectl exec:在Pod中执行命令 49
4.2.7 kubectl logs 50
4.3 总结 50
第5章 Kubernetes Deployment 51
5.1 Deployment原理 51
5.1.1 自愈和扩缩容 52
5.1.2 使用Deployment进行滚动升级 54
5.1.3 回滚 56
5.2 如何创建一个Deployment 56
5.2.1 查看Deployment 58
5.2.2 访问该应用 59
5.3 执行滚动升级 60
5.4 执行回滚操作 63
5.5 总结 64
第6章 Kubernetes Service 65
6.1 要点前瞻 65
6.2 原理 66
6.2.1 Label与松耦合 67
6.2.2 Service和Endpoint对象 69
6.2.3 从集群内部访问Service 70
6.2.4 从集群外部访问Service 70
6.2.5 服务发现 72
6.2.6 小结 72
6.3 Service实战 73
6.3.1 命令式 73
6.3.2 声明式 76
6.4 实例 79
6.5 总结 81
第7章 服务发现 82
7.1 快速入门 82
7.2 服务注册 83
7.2.1 服务后端 85
7.2.2 小结 86
7.3 服务发现 86
7.3.1 使用集群DNS将名称解析为IP地址 87
7.3.2 网络“黑科技” 88
7.3.3 小结 89
7.4 服务发现与命名空间 90
7.5 服务发现问题排查 96
7.6 总结 98
第8章 Kubernetes存储 99
8.1 概述 99
8.2 存储提供者 101
8.3 容器存储接口(CSI) 101
8.4 Kubernetes持久化卷子系统 101
8.5 存储类和动态置备 107
8.5.1 存储类YAML 108
8.5.2 多个存储类 109
8.5.3 实现存储类 109
8.6 示例 111
8.6.1 清理 111
8.6.2 创建一个存储类 112
8.6.3 创建一个PVC 113
8.6.4 清理 114
8.6.5 使用默认的StorageClass 115
8.7 总结 115
第9章 ConfigMap 116
9.1 概述 116
9.1.1 简单的例子 117
9.1.2 例子分析 117
9.1.3 解耦的世界 117
9.2 ConfigMap原理 118
9.2.1 ConfigMap如何工作 119
9.2.2 ConfigMap与Kubernetes原生应用 120
9.3 ConfigMap实战 120
9.3.1 命令式创建ConfigMap 120
9.3.2 查看ConfigMap 122
9.3.3 声明式创建ConfigMap 123
9.3.4 将ConfigMap数据注入Pod和容器 125
9.4 总结 129
第10章 StatefulSet 130
10.1 StatefulSet原理 130
10.1.1 StatefulSet中Pod的命名 131
10.1.2 按序创建和删除 132
10.1.3 删除StatefulSet 133
10.1.4 卷 133
10.1.5 故障处理 134
10.1.6 网络ID和headless Service 134
10.2 StatefulSet实战 135
10.2.1 部署StorageClass 135
10.2.2 创建一个governing headless Service 136
10.2.3 部署StatefulSet 137
10.2.4 测试点对点发现 140
10.2.5 StatefulSet扩缩容 141
10.2.6 执行滚动升级 143
10.2.7 模拟Pod故障 143
10.2.8 删除StatefulSet 145
10.3 总结 145
第11章 安全模型分析 146
11.1 安全模型 146
11.2 伪装 146
11.2.1 与API Server的安全通信 147
11.2.2 Pod间的安全通信 147
11.3 篡改 149
11.3.1 对Kubernetes组件的篡改 149
11.3.2 对运行在Kubernetes中的应用的篡改 150
11.4 抵赖 151
11.5 信息泄露 153
11.5.1 保护集群数据 153
11.5.2 保护Pod中的数据 153
11.6 拒绝服务 154
11.6.1 保护集群资源免于DoS攻击 154
11.6.2 保护API Server防范DoS攻击 155
11.6.3 保护集群存储防范DoS攻击 155
11.6.4 保护应用组件防范DoS攻击 156
11.7 提升权限 157
11.7.1 保护API Server 157
11.7.2 保护Pod 158
11.8 Pod安全策略 162
11.9 Kubernetes安全展望 164
11.10 总结 164
第12章 现实中Kubernetes的安全性 165
12.1 CI/CD流水线 165
12.1.1 镜像仓库 165
12.1.2 使用已验证的基础镜像 166
12.1.3 非标准基础镜像 167
12.1.4 控制镜像的访问权限 167
12.1.5 从非生产库复制镜像到生产库 168
12.1.6 漏洞扫描 168
12.1.7 配置即代码 169
12.1.8 镜像签名 169
12.1.9 镜像晋升工作流 170
12.2 基础设施与网络 170
12.2.1 集群层负载隔离 170
12.2.2 节点隔离 172
12.2.3 运行时隔离 172
12.2.4 网络隔离 173
12.3 身份认证与访问控制管理(IAM) 176
12.4 审计与安全监控 177
12.4.1 安全配置 177
12.4.2 容器与Pod的生命周期事件 178
12.4.3 应用的日志 178
12.4.4 用户执行的操作 178
12.4.5 管理日志数据 179
12.4.6 迁移现有App到Kubernetes 179
12.5 现实例子 179
12.6 总结 180
术语表 181
延伸 184
· · · · · · (
收起)
0 有用 未命名 2024-05-21 14:12:14 上海
看文档就可以了
0 有用 杨老三 2023-02-28 23:11:31 浙江
翻译得很好
0 有用 不欺售欺 2024-05-27 17:04:23 浙江
简单明了 值得一读
1 有用 时光旅人 2022-05-15 22:24:06
初学者友好,高级用户可以回忆一下相关知识点。
0 有用 selfattention 2024-08-23 17:19:15 北京
作者说了本书定位就是适合体验一下Kates,不能用于生产:) 我读这本书的目的就是了解一些关于k8s的名词概念,以及一些浅显的组件原理。下一本去读张磊的深入剖析k8s,所以这本书是我领域阅读的一部分。
0 有用 Saleacy 2024-10-05 15:43:49 山东
个人感觉,后面两章纯凑字数。
0 有用 selfattention 2024-08-23 17:19:15 北京
作者说了本书定位就是适合体验一下Kates,不能用于生产:) 我读这本书的目的就是了解一些关于k8s的名词概念,以及一些浅显的组件原理。下一本去读张磊的深入剖析k8s,所以这本书是我领域阅读的一部分。
0 有用 七 2024-08-06 23:33:56 北京
没什么收获
0 有用 不欺售欺 2024-05-27 17:04:23 浙江
简单明了 值得一读
0 有用 未命名 2024-05-21 14:12:14 上海
看文档就可以了