云原生测试实战
新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。
¥
48.17
6.0折
¥
79.8
全新
库存4件
作者孙高飞
出版社人民邮电出版社
ISBN9787115618733
出版时间2023-10
装帧平装
开本16开
定价79.8元
货号1203087547
上书时间2024-10-23
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
孙高飞
腾讯优图实验室资深测试开发工程师,专注人工智能与云原生领域的测试实践,曾就职于第四范式。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
内容摘要
本书用通俗易懂的语言介绍云原生理论基础,用丰富的实际案例还原云原生测试场景,是一本专注于讲述云原生测试的实战图书。本书共 9 章,第 1 章至第 3 章主要介绍云原生基础,包括云原生的概念和相关测试挑战,Docker 的核心能力和测试场景,Kubernetes 的集群搭建、常用对象和定制化开发等内容;第 4 章至第 6 章主要介绍云原生测试场景,包括在 Kubernetes 中实施混沌工程、性能测试、稳定性测试,使用 Prometheus搭建监控系统等内容;第 7 章至第 9 章主要介绍云原生与其他领域的结合,包括边缘计算、CI/CD 和大数据技术与 Kubernetes 结合的测试场景及对应的测试方案。
主编推荐
伴随全行业上云的逐步深化,企业云原生化转型进程将进一步加速。在云原生背景下,更快的开发节奏,对测试要求会更高,国内各大厂针对云原生测试开始设置专项岗位。本书作者在人工智能与云原生测试领域深耕多年,具有丰富的云原生测试经验以及测试工具开发经验,他在TesterHome社区写作的技术文章广受业内人士好评。作者希望有更多的测试同行进入云原生领域,云原生领域拥有较高的复杂度和深度,可以为测试人员带来更多的机会。
本书是一本详细介绍云原生测试的专业图书。
通过阅读本书,读者可以:
***掌握云原生的基础内容,包括云原生的概念和相关测试挑战,Docker的核心能力和测试场景,Kubernetes的集群搭建、常用对象和定制化开发等。
***深入云原生测试的场景,包括混沌工程、性能测试、稳定性测试,以及使用Prometheus搭建监控系统等。
***了解云原生与其他领域(包括边缘计算、CI/CD、大数据技术等)结合的测试场景和对应的测试方案。
媒体评论
随着越来越多的企业开始应用云原生技术栈推动业务和架构的发展,Docker和Kubernetes逐渐成为大多数IT从业人员的技能并在面向B端的领域大放光彩,它们被融入产品并提供给用户使用。因此,在云原生架构下开展测试已经成为质量保证行业中一个重要的细分领域。在本书中,作者结合自建测试平台的经验,详细地总结了云原生架构下的测试方案,帮助测试人员解决云原生架构下的测试难题。
——黄小明 腾讯云智能总监
容器技术相关的图书并不少,但大多都从开发和运维的视角进行科普和实践内容的讲解,很难指导测试人员在云原生背景下如何开展测试活动,建立质量保证体系。因此,业界急需从测试人员视角出发的侧重云原生架构和相关测试理论的图书,本书满足了行业需要。本书内容丰富,案例众多,包括容器基础技术、云原生架构特点、在云原生架构下开发对应的测试工具和各项测试实践的细节。本书通俗易懂且实用性强,适合相关领域的测试人员阅读。
——杨春晖 工业和信息化部电子第五研究所研究员、高级工程师
随着云计算和边缘计算的普及,云原生已经成为当今软件行业发展的核心元素。在云原生时代,如何在工业级产品应用中适配云平台的网络,以及存储、算力、调度等方面的难题,已经成为相关从业人员重点学习的内容。而测试人员还需探索如何保证云原生产品质量、如何研究各项测试活动,以及如何利用云原生的特性构建更有效的测试技术。本书深入研究和探讨这些问题,汇集业界的新实践成果,从理论、方法和实践层面进行全面的分析和总结,为在云原生架构下工作的从业人员提供参考资料和学习指南,帮助读者快速入门容器技术并开展云原生测试。
——朱华亮 百度主任架构师
2016年4月高飞在TesterHome写了一篇文章,从此开始了篇篇精华之路。那时候我们还在移动测试方向“玩”得不亦乐乎,高飞已经开始研究容器、大数据、机器学习等领域了。我曾经有一个签名“和高飞学Kubernetes”,虽然我一直没有用心学,但是高飞的精华文章从没有停止。高飞的容器相关的文章随着他工作经验的丰富,越来越成体系,并终于在2023年成书。我们可以在市面上搜到一堆关于云原生、关于Kubernetes的开发运维的图书,但是从测试角度切入,向大家介绍如何测试云原生产品的图书少之又少,即便有相关内容,也是粗浅地带过。通过本书的内容简介,可以看出这是一本有细节、有落地的书。这得益于高飞在第四范式做测试工作的时候,对Kubernetes的专研和在日常业务迭代中的应用。随着越来越多的应用“生”在云上,“长”在云上,云原生已经成为各大互联网公司技术发展的主要方向,Kubernetes作为云原生的核心平台,无论是开发人员、测试人员,还是运维人员,都需要去了解、学习和掌握它。测试人员想要了解如何保障云原生产品的质量(如高可用性和稳定性),阅读真正有这方面经验的前辈写出来的图书是很好的学习途径。正所谓“师傅领进门,还带你修行”,相信阅读本书读者会有所收获。
——张立华(恒温) 蚂蚁高级测试开发专家
目前云原生技术应用越来越广泛,而其测试技术却很缺乏。本书全面介绍了各种云原生场景,特别是故障注入、混沌工程和边缘计算等场景的测试方案,还介绍了我个人比较关注的云原生产品的性能测试和监控数据收集,这些内容都非常值得借鉴和参考。
——齐涛(道长) 南方基金网络金融部测试负责人,《Robot Framework自动化测试修炼宝典》作者
随着云计算和DevOps的广泛应用,容器技术及其应用成为当下软件行业非常热门的话题。在此背景下,从业人员发现传统的测试技能已经无法满足云原生时代的需要。测试人员需要面对在云原生架构下保证产品的质量,实践基于容器技术的自动化测试、性能测试、容量测试、混沌工程以及环境治理等一系列问题。这些问题或许可以从本书中找到答案,本书从Docker和Kubernetes技术角度出发,全面介绍了云原生架构的特点和测试活动的细节,非常适合在云原生架构下工作的测试人员以及对该领域有兴趣的从业人员阅读。
——陈振宇 南京大学软件学院教授、博导
本书是非常实用的技术图书,对在现代云原生环境下进行测试工作的读者来说非常有价值。本书深入介绍云原生测试的概念、策略、工具和实践,涵盖云原生应用、微服务、容器、Kubernetes等相关技术,并且从性能、稳定性、持续集成、大数据等不同角度出发,讲解云原生产品的各种测试场景以及测试场景的具体实现,读者可以通过本书循序渐进地学习和了解云原生测试。本书融合理论和实践,让读者既能深入理解云原生测试的原理和策略,又能使用具体的工具和框架实践,非常值得推荐。本书不仅对测试人员有用,对在云原生环境下进行开发和部署的人员,也具有一定的参考价值。
——邓东汉 前平安银行测试专家
容器技术的出现带来了云技术的爆发式发展,随着相关云端应用数量和规模的增加,工业界急需一套自动部署、扩缩和管理容器的应用,Kubernetes应运而生。当前介绍Kubernetes及其所赋能的领域的测试方面的图书很少,本书恰到好处地面世了。本书详细介绍的混沌工程、分布式压力测试以及与Jenkins结合的CI/CD等内容特别能体现质量保证的技术力和生产力,在我的互联网大厂工作经历中,这些专项的产物都是作为基础建设,在公司生产发布活动中发挥着重要的作用,这些内容值得重点学习和拓展研究。
——哈莫(Harmo) 前腾讯高级测试开发工程师
— 没有更多了 —
以下为对购买帮助不大的评价