书籍详情
Spinnaker实战:云原生多云环境的持续部署方案
作者:王炜,王振威 著
出版社:电子工业出版社
出版时间:2021-09-01
ISBN:9787121419669
定价:¥108.00
购买这本书可以去
内容简介
本书聚焦于云原生和多云环境的持续部署方案,共分13 章,内容涉及声明式持续部署概述、Spinnaker基础与实战、金丝雀发布与灰度发布、部署安全、混沌工程及生产化建议等,结构清晰,循序渐进,深入浅出。在持续部署最佳实践方面,本书重点介绍了如何实施灰度发布、自动金丝雀分析和混沌工程,这些高级部署功能是Netflix 公司实现快速而稳定迭代的核心技术。关于如何落地Spinnaker,本书站在人和组织架构的视角,为迁移团队提供了指导性的意见,解决了新技术落地难的问题。
作者简介
王炜,腾讯云CODING高级架构师,CNCF大使,KubeCon评审委员会成员,开源云原生开发境Nocalhost研发负责人,腾讯云大学讲师。多年来始终从事云原生架构、Docker、Kubernetes、DevOps及微服务领域的研究与实践,擅长开源项目治理和运营。王振威,腾讯云CODING研发总监,开源云原生开发环境Nocalhost产品负责人。深耕开发者工具领域,实现了CODING代码托管、CI/CD等产品从0到1的突破,在Linux、Golang、Java、Kubernetes、Docker等技术领域有所见长。
目录
目 录
01 声明式持续部署概述 1
1.1 持续交付与持续部署 2
1.2 命令式与声明式 6
1.3 常见的声明式系统 9
1.4 声明式与命令式结合:声明式脚本流水线 13
1.5 声明式脚本流水线的意义 16
1.6 本章小结 18
02 管理云基础设施 19
2.1 迁移至云原生与混合云的挑战 20
2.2 组织云基础设施 23
2.3 流量组织形式 27
2.4 持续部署工具对比 27
2.5 本章小结 36
03 Spinnaker 简介 37
3.1 概念 38
3.2 应用管理 38
3.3 应用程序部署 42
3.4 云提供商 45
3.5 Spinnaker 架构 46
3.6 本章小结 57
04 安装Spinnaker 59
4.1 环境要求 59
4.2 安装部署 67
4.3 本章小结 82
05 Spinnaker基本工作流程:流水线 84
5.1 管理流水线 85
5.2 部署制品 95
5.3 启动参数 108
5.4 阶段 109
5.5 触发器 114
5.6 通知 116
5.7 流水线表达式 118
5.8 版本控制和审计 125
5.9 动态流水线示例 126
5.10 本章小结 132
06 深入核心概念 133
6.1 虚拟机阶段 133
6.2 Kubernetes阶段 145
6.3 集成外部系统阶段 156
6.4 流程控制阶段 170
6.5 其他阶段 175
6.6 部署制品类型 176
6.7 配置触发器 192
6.8 使用流水线模板 205
6.9 消息通知 213
6.10 本章小结 226
07 自动金丝雀分析 227
7.1 Spinnaker 自动金丝雀发布 227
7.2 安装组件 229
7.3 配置金丝雀 233
7.4 获取金丝雀报告 248
7.5 工作原理 250
7.6 最佳实践 251
7.7 本章小结 253
08 混沌工程 254
8.1 理论基础 254
8.2 为什么需要混沌工程 256
8.3 五大原则 257
8.4 如何实现混沌工程 259
8.5 在 Spinnaker 中实施混沌工程 263
8.6 本章小结 268
09 使部署更加安全 269
9.1 集群部署 269
9.2 流水线执行 285
9.3 自动验证阶段 295
9.4 审计和可追溯 299
9.5 本章小结 302
10 最佳实践 303
10.1 南北流量自动灰度发布:Kubernetes + Nginx Ingress 304
10.2 东西流量自动灰度发布:Kubernetes + Service Mesh 319
10.3 本章小结 334
11 生产建议 336
11.1 SSL 336
11.2 认证 341
11.3 授权 351
11.4 Redis配置优化 359
11.5 横向扩容 360
11.6 使用MySQL 作为存储系统 363
11.7 监控 372
11.8 本章小结 382
12 扩展 Spinnaker 383
12.1 配置开发环境 383
12.2 编写新阶段 386
12.3 本章小结 394
13 迁移到Spinnaker 395
13.1 如何说服团队 395
13.2 迁移原则 396
13.3 本章小结 399
01 声明式持续部署概述 1
1.1 持续交付与持续部署 2
1.2 命令式与声明式 6
1.3 常见的声明式系统 9
1.4 声明式与命令式结合:声明式脚本流水线 13
1.5 声明式脚本流水线的意义 16
1.6 本章小结 18
02 管理云基础设施 19
2.1 迁移至云原生与混合云的挑战 20
2.2 组织云基础设施 23
2.3 流量组织形式 27
2.4 持续部署工具对比 27
2.5 本章小结 36
03 Spinnaker 简介 37
3.1 概念 38
3.2 应用管理 38
3.3 应用程序部署 42
3.4 云提供商 45
3.5 Spinnaker 架构 46
3.6 本章小结 57
04 安装Spinnaker 59
4.1 环境要求 59
4.2 安装部署 67
4.3 本章小结 82
05 Spinnaker基本工作流程:流水线 84
5.1 管理流水线 85
5.2 部署制品 95
5.3 启动参数 108
5.4 阶段 109
5.5 触发器 114
5.6 通知 116
5.7 流水线表达式 118
5.8 版本控制和审计 125
5.9 动态流水线示例 126
5.10 本章小结 132
06 深入核心概念 133
6.1 虚拟机阶段 133
6.2 Kubernetes阶段 145
6.3 集成外部系统阶段 156
6.4 流程控制阶段 170
6.5 其他阶段 175
6.6 部署制品类型 176
6.7 配置触发器 192
6.8 使用流水线模板 205
6.9 消息通知 213
6.10 本章小结 226
07 自动金丝雀分析 227
7.1 Spinnaker 自动金丝雀发布 227
7.2 安装组件 229
7.3 配置金丝雀 233
7.4 获取金丝雀报告 248
7.5 工作原理 250
7.6 最佳实践 251
7.7 本章小结 253
08 混沌工程 254
8.1 理论基础 254
8.2 为什么需要混沌工程 256
8.3 五大原则 257
8.4 如何实现混沌工程 259
8.5 在 Spinnaker 中实施混沌工程 263
8.6 本章小结 268
09 使部署更加安全 269
9.1 集群部署 269
9.2 流水线执行 285
9.3 自动验证阶段 295
9.4 审计和可追溯 299
9.5 本章小结 302
10 最佳实践 303
10.1 南北流量自动灰度发布:Kubernetes + Nginx Ingress 304
10.2 东西流量自动灰度发布:Kubernetes + Service Mesh 319
10.3 本章小结 334
11 生产建议 336
11.1 SSL 336
11.2 认证 341
11.3 授权 351
11.4 Redis配置优化 359
11.5 横向扩容 360
11.6 使用MySQL 作为存储系统 363
11.7 监控 372
11.8 本章小结 382
12 扩展 Spinnaker 383
12.1 配置开发环境 383
12.2 编写新阶段 386
12.3 本章小结 394
13 迁移到Spinnaker 395
13.1 如何说服团队 395
13.2 迁移原则 396
13.3 本章小结 399
猜您喜欢