Kubernetes修炼手册查看源代码讨论查看历史
《Kubernetes修炼手册》,奈吉尔·波尔顿 著,刘康 李瑞丰 译,出版社: 人民邮电出版社。
人民邮电出版社,1953年10月成立,隶属于中国工信出版传媒集团,是工业和信息化部主管的大型专业出版社[1]。建社以来,人民邮电出版社围绕“立足工信事业,面向现代社会,传播科学知识,引领美好生活”的出版宗旨,已发展成为集图书、期刊、音像电子及数字出版于一体的综合性出版大社[2]。
内容简介
本书是一本Kubernetes入门图书,共分为12章,涵盖了Kubernetes的基础知识,并附带了大量的配置案例。此外,还介绍了Kubernetes架构、构建Kubernetes集群、在Kubernetes上部署和管理应用程序、Kubernetes安全,以及云本地、微服务、容器化等术语的含义。本书在内容上不断进行充实和完善,可以帮助读者快速入门Kubernetes。
本书适合系统管理员、开发人员,以及对Kubernetes感兴趣的初学者阅读。
目录
第 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
参考文献
- ↑ 我国出版社的等级划分和分类标准,知网出书,2021-03-01
- ↑ 人民邮电出版社简介,人民邮电出版社