《微服务运维实战》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(西)维克托·法西克著;任发科,汪欣,袁诗瑶译
  • 出 版 社:武汉:华中科技大学出版社
  • 出版年份:2018
  • ISBN:9787568041614
  • 页数:421 页
图书介绍:本书详细讲解微服务和容器在软件持续集成和部署中的应用。作者通过讲解相关工具(Docker、Kubernetes、Ansible、Consul等)的用法,分享自己的工作经验,帮助读者构建高效、可靠、可快速恢复的软件系统。

第1章 DevOps的理想 1

1.1 持续集成、交付和部署 2

架构 3

部署 4

编排 5

1.2 部署流水线的曙光 5

第2章 实现突破——持续部署、微服务和容器 7

2.1 持续集成 7

推送到代码库 9

静态分析 10

部署前测试 12

打包并部署到测试环境 13

部署后测试 13

2.2 持续交付和部署 15

微服务 18

容器 18

2.3 三个火枪手——持续部署、微服务和容器的协作 20

第3章 系统架构 23

3.1 单块应用 24

服务水平切分 26

微服务 27

3.2 单块应用与微服务的比较 29

运维和部署的复杂性 30

远程过程调用 30

扩展 31

创新 31

规模 31

部署、回滚和故障隔离 32

承诺期限 32

部署策略 32

可变的怪物服务器 33

3.3 微服务的最佳实践 41

容器 41

3.4 代理微服务或API网关 44

反向代理 44

极简主义方法 45

配置管理 45

跨职能团队 45

API版本化 46

最后的思考 46

第4章 使用Vagrant和Docker搭建开发环境 49

4.1 结合微服务架构和容器技术 50

Vagrant与Docker 52

4.2 开发环境搭建 55

开发环境使用 58

第5章 部署流水线的实现——初始阶段 63

5.1 启动持续部署虚拟机 63

5.2 部署流水线步骤 65

运行预部署测试、编译并打包代码 65

构建Docker容器 67

第6章 Docker世界中的配置管理 79

6.1 CFEngine 79

puppet 80

Chef 80

最后几点思考 82

配置生产环境 83

设置Ansible Playbook 86

第7章 部署管道的实现——中间阶段 91

7.1 在生产服务器上部署容器 92

Docker UI 96

检查清单 97

第8章 发现服务——分布式服务的关键 99

8.1 服务注册表 101

服务注册 101

主动注册 102

注册服务 103

服务发现 103

服务发现工具 104

手动配置 106

Zookeeper 106

etcd 107

Consul 121

配置Registrator 130

Consul Health Checks、Web UI和数据中心 138

8.2 服务发现工具的比较 141

第9章 代理服务 143

9.1 反向代理服务 144

代理服务对我们的项目有何帮助 146

nginx 146

nginx 146

HAProxy 158

9.2 代理工具的比较 163

第10章 部署流水线的实现——后期阶段 167

10.1 启动容器 169

10.2 集成服务 170

10.3 运行部署后测试 171

10.4 将测试容器推送到镜像库 172

10.5 检查表 173

第11章 部署流水线的自动化实现 175

11.1 部署流水线的步骤 175

Playbook和Role 178

部署前任务 179

部署任务 182

部署后任务 185

11.2 运行自动部署流水线 186

第12章 持续集成、交付和部署的工具 187

12.1 CI/CD工具对比 188

CI/CD工具的简史 189

Jenkins 192

最后的想法 217

第13章 蓝绿部署 219

13.1 蓝绿部署的流程 220

13.2 手动执行蓝绿部署 223

部署蓝色版本 224

集成蓝色版本 226

部署绿色版本 228

集成绿色版本 230

移除蓝色版本 231

发现应部署哪个版本以及回滚 233

13.3 使用Jenkins workflow自动化蓝绿部署 239

蓝绿部署角色 240

运行蓝绿部署 245

第14章 服务集群和扩展 249

14.1 可扩展性 250

轴线扩展 252

集群 254

Docker集群工具大比拼——Kubernetes、Docker Swarm和Mesos对比 256

搭建 258

运行容器 260

选择 262

14.2 Docker Swarm漫步 263

14.3 搭建Docker Swarm 268

使用Docker Swarm部署 274

使用Docker Swarm无链接部署 275

使用Docker Swarm和Docker Networking部署 276

使用Docker Swarm扩展服务 283

根据预留的CPU和内存调度容器 284

14.4 使用Docker Swarm和Ansible自动化部署 288

检验Swarm部署playbook 290

第15章 自我修复系统 297

15.1 自我修复等级和类型 298

应用程序级别的自我修复 299

系统级别的自我修复 300

硬件级别的自我修复 302

反应式自我修复 303

预防式自我修复 303

15.2 自我修复架构 305

15.3 Docker、ConsulWatches和Jenkins组成的自我修复系统 311

搭建环境 311

15.4 自动设置Consul健康检查和watches来监测硬件 322

15.5 预设扩展和收缩的预防式自我修复 334

采用Docker重启策略的预防式自我修复 339

将On-Premise与云节点结合 341

15.6 自我修复系统(到目前为止)总结 342

第16章 集中日志和监控 343

16.1 集中日志的需求 344

16.2 向ElasticSearch发送日志条目 347

解析文件条目 354

发送日志条目到集中式LogStash 358

发送Docker日志条目到集中式LogStash实例 363

16.3 基于软件数据的自修复系统 375

硬件状态日志 381

基于硬件数据的自修复系统 388

最后的想法 388

第17章 结语 391

附录A Docker Flow 393

A.1 背景 394

标准搭建环境 394

问题 396

Docker Flow漫谈 398

零停机时间部署新版本 404

索引 415