搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
云原生测试实战
0.00     定价 ¥ 79.80
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787115618733
  • 作      者:
    作者:孙高飞|责编:孙喆思
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2023-10-01
收藏
编辑推荐
伴随全行业上云的逐步深化,企业云原生化转型进程将进一步加速。在云原生背景下,更快的开发节奏,对测试要求会更高,国内各大厂针对云原生测试开始设置专项岗位。本书作者在人工智能与云原生测试领域深耕多年,具有丰富的云原生测试经验以及测试工具开发经验,他在TesterHome社区写作的技术文章广受业内人士好评。作者希望有更多的测试同行进入云原生领域,云原生领域拥有较高的复杂度和深度,可以为测试人员带来更多的机会。

本书是一本详细介绍云原生测试的专业图书。
通过阅读本书,读者可以:
***掌握云原生的基础内容,包括云原生的概念和相关测试挑战,Docker的核心能力和测试场景,Kubernetes的集群搭建、常用对象和定制化开发等。
***深入云原生测试的场景,包括混沌工程、性能测试、稳定性测试,以及使用Prometheus搭建监控系统等。
***了解云原生与其他领域(包括边缘计算、CI/CD、大数据技术等)结合的测试场景和对应的测试方案。
展开
作者简介
孙高飞
腾讯优图实验室资深测试开发工程师,专注人工智能与云原生领域的测试实践,曾就职于第四范式。TesterHome社区专栏作者,并作为社区管理员参与组织过多场中国互联网测试开发大会(MTSC),是MTSC2023技术委员会成员。
展开
内容介绍
本书用通俗易懂的语言介绍云原生理论基础,用丰富的实际案例还原云原生测试场景,是一本专注于讲述云原生测试的实战图书。本书共9章,第1章至第3章主要介绍云原生基础,包括云原生的概念和相关测试挑战,Docker的核心能力和测试场景,Kubernetes的集群搭建、常用对象和定制化开发等内容;第4章至第6章主要介绍云原生测试场景,包括在Kubernetes中实施混沌工程、性能测试、稳定性测试,使用Prometheus搭建监控系统等内容;第7章至第9章主要介绍云原生与其他领域相结合的测试场景,包括边缘计算、CI/CD和大数据技术与Kubernetes结合的测试场景及对应的测试方案。 本书适合在云领域工作的测试人员学习与借鉴,也适合对云和容器技术感兴趣的人员阅读与参考。
展开
目录
第 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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证