51Testing独家连载:云原生测试实战

发表于:2024-2-05 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:孙高飞    来源:51Testing软件测试网原创

  目录
  第 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 
33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号