注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学云原生测试实战

云原生测试实战

云原生测试实战

定 价:¥79.80

作 者: 孙高飞
出版社: 人民邮电出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787115618733 出版时间: 2023-10-01 包装: 平装
开本: 页数: 字数:  

内容简介

  本书用通俗易懂的语言介绍云原生理论基础,用丰富的实际案例还原云原生测试场景,是一本专注于讲述云原生测试的实战图书。本书共 9 章,第 1 章至第 3 章主要介绍云原生基础,包括云原生的概念和相关测试挑战,Docker 的核心能力和测试场景,Kubernetes 的集群搭建、常用对象和定制化开发等内容;第 4 章至第 6 章主要介绍云原生测试场景,包括在 Kubernetes 中实施混沌工程、性能测试、稳定性测试,使用 Prometheus搭建监控系统等内容;第 7 章至第 9 章主要介绍云原生与其他领域的结合,包括边缘计算、CI/CD 和大数据技术与 Kubernetes 结合的测试场景及对应的测试方案。

作者简介

  孙高飞腾讯优图实验室资深测试开发工程师,专注人工智能与云原生领域的测试实践,曾就职于第四范式。TesterHome社区专栏作者,并作为社区管理员参与组织过多场中国互联网测试开发大会(MTSC),是MTSC2023技术委员会成员。

图书目录

第 1 章 认识云原生 1
1.1 什么是云原生 1
1.2 云原生的测试挑战 3
1.3 本章总结 4
第 2 章 容器技术基础 5
2.1 构建浏览器集群 5
2.1.1 Selenium Grid 5
2.1.2 Docker 部署 Selenium Grid 6
2.1.3 小结 8
2.2 容器隔离的原理 9
2.2.1 隔离 9
2.2.2 Linux 名字空间 10
2.2.3 小结 13
2.3 网络模式 13
2.3.1 bridge 网络模式 13
2.3.2 host 网络模式 16
2.3.3 container 网络模式 17
2.3.4 小结 18
2.4 容器镜像 19
2.4.1 镜像构建 19
2.4.2 联合文件系统 23
2.4.3 镜像分层的优势 25
2.4.4 镜像扫描工具的开发 26
2.4.5 小结 28
2.5 本章总结 28
第 3 章 Kubernetes 基础 29
3.1 深入解析 Pod 29
3.1.1 Pod 的架构 29
3.1.2 Pod 的调度 31
3.1.3 Pod 的资源管理 34
3.1.4 小结 37
3.2 服务高可用设计 37
3.2.1 高可用的常见设计 38
3.2.2 服务副本与水平扩展 38
3.2.3 基于 Service 的负载均衡网络 41
3.2.4 基于探针的健康检查 43
3.2.5 小结 46
3.3 再谈镜像扫描工具 50
3.3.1 DaemonSet 定义 50
3.3.2 DaemonSet 与 Headless Service 51
3.3.3 在容器中调用 Docker 52
3.3.4 小结 52
3.4 离线业务 52
3.4.1 Job 52
3.4.2 CronJob 54
3.4.3 小结 54
3.5 K8s 开发基础 55
3.5.1 客户端的初始化 55
3.5.2 基本 API 的使用 56
3.5.3 资源回收工具的开发 58
3.5.4 让工具在集群中运行-InCluster 模式和 RBAC 61
3.5.5 解决容器时区问题 64
3.5.6 小结 65
3.6 本章总结 66
第 4 章 混沌工程 67
4.1 什么是混沌工程 67
4.2 高可用测试的理论 67
4.2.1 幂等与重试 68
4.2.2 状态管理 69
4.2.3 CAP 70
4.2.4 BASE 73
4.2.5 监控告警 75
4.2.6 小结 75
4.3 高可用扫描工具 75
4.3.1 扫描规则 76
4.3.2 代码实现 76
4.3.3 小结 80
4.4 故障注入工具 81
4.4.1 故障注入工具的底层原理 81
4.4.2 开源工具的选择 82
4.4.3 Chaos Mesh 的架构 83
4.4.4 K8s 的 Operator 84
4.4.5 Chaos Dashboard 87
4.4.6 chaosd-server 88
4.4.7 sidecar 模式的故障注入 89
4.4.8 jvm-sandbox 97
4.4.9 故障注入的注意点 100
4.4.10 小结 100
4.5 K8s 中的特殊故障 101
4.5.1 Pod 无法被删除 101
4.5.2 驱逐策略与抢占优先级 103
4.5.3 K8s 核心组件故障 105
4.5.4 小结 107
4.6 高可用的评估手段 107
4.6.1 以模拟 SLA 为角度评估 107
4.6.2 以故障场景为角度评估 109
4.6.3 RPO 与 RTO 109
4.6.4 小结 110
4.7 本章总结 110
第 5 章 性能测试与监控 111
5.1 Prometheus 快速入门 112
5.1.1 快速部署 112
5.1.2 架构介绍 113
5.1.3 可视化 114
5.1.4 小结 116
5.2 PromQL 详解 116
5.2.1 理解时间序列 117
5.2.2 理解指标类型 117
5.2.3 语法详解 119
5.2.4 HTTP API 123
5.2.5 小结 126
5.3 容量测试 126
5.3.1 超卖的风险 127
5.3.2 资源的初步评估 128
5.3.3 统计具体的资源 130
5.3.4 小结 134
5.4 分布式压力测试工具 JMeter 134
5.4.1 部署 JMeter 集群 135
5.4.2 小结 136
5.5 测试 K8s 的性能 136
5.5.1 测试方法 136
5.5.2 Kubemark 简介 137
5.5.3 Kubemark 部署 138
5.5.4 小结 143
5.6 本章总结 143
第 6 章 稳定性测试与监控 144
6.1 什么是稳定性测试 144
6.2 List-Watch 145
6.2.1 K8s 的控制器模型 145
6.2.2 List-Watch 简介 146
6.2.3 小结 148
6.3 构建事件监控组件 149
6.3.1 Pod 与容器的状态 149
6.3.2 Pod 的 Condition 和 Phase 150
6.3.3 获取异常容器 152
6.3.4 获取异常信息 153
6.3.5 NPD 154
6.3.6 小结 157
6.4 持续性观测 157
6.4.1 自定义 Exporter 157
6.4.2 服务可用时间 164
6.4.3 业务巡检与Pushgateway 167
6.4.4 小结 168
6.5 Operator 168
6.5.1 什么是 Operator 169
6.5.2 Prometheus Operator 170
6.5.3 小结 171
6.6 本章总结 171
第 7 章 边缘计算 172
7.1 什么是边缘计算 172
7.1.1 云计算的不足 172
7.1.2 就近计算的设计 173
7.1.3 小结 174
7.2 K8s 与边缘计算 174
7.2.1 边缘自治 175
7.2.2 分布式健康检查 176
7.2.3 边缘调度 177
7.2.4 就近计算 180
7.2.5 边缘灰度 182
7.2.6 边缘存储 184
7.2.7 小结 185
7.3 核心测试场景 185
7.3.1 边缘计算的容量测试 186
7.3.2 边缘计算的高可用测试 186
7.3.3 数据通信测试 188
7.3.4 调度测试 189
7.3.5 小结 190
7.4 本章总结 190
第 8 章 持续集成和持续部署 191
8.1 构建 CI/CD 系统的关键 191
8.1.1 CI/CD 与流水线 191
8.1.2 规模扩大带来的挑战 194
8.1.3 高度自动化的工程能力 195
8.1.4 小结 196
8.2 Jenkins 流水线 196
8.2.1 流水线基础 197
8.2.2 多分支流水线 200
8.2.3 Jenkins 共享库 202
8.2.4 小结 207
8.3 K8s 中的 CI/CD 207
8.3.1 Jenkins 与 Docker 207
8.3.2 Jenkins 与 K8s 208
8.3.3 小结 215
8.4 环境治理 215
8.4.1 环境的隔离级别 215
8.4.2 K8s 中的资源隔离 216
8.4.3 在 K8s 中实现逻辑隔离 218
8.4.4 Helm 221
8.4.5 小结 223
8.5 本章总结 223
第 9 章 云原生与大数据 224
9.1 什么是大数据 224
9.1.1 大数据的 4 个特征 224
9.1.2 分布式存储 225
9.1.3 分布式计算 226
9.1.4 批处理和流计算 226
9.1.5 大数据生态 227
9.1.6 小结 228
9.2 K8s 中的分布式计算 228
9.2.1 K8s 中的存储 229
9.2.2 Spark Operator 233
9.2.3 小结 235
9.3 Spark 基础 235
9.3.1 搭建本地环境 236
9.3.2 Spark 的运行机制 236
9.3.3 RDD 基础 237
9.3.4 小结 239
9.4 典型测试场景介绍 239
9.4.1 shuffle 与数据倾斜 239
9.4.2 分区对性能的影响 240
9.4.3 多种数据源的对接 241
9.4.4 功能测试与数据质量监控242
9.4.5 流计算与数据一致性 243
9.4.6 小结 245
9.5 造数工具 245
9.5.1 造数的难点与解决方案 246
9.5.2 代码实现 247
9.5.3 非结构化数据的构建 250
9.5.4 小结 252
9.6 本章总结 252

本目录推荐