logo
分类于: 编程语言 云计算&大数据

简介

微服务运维实战(第一卷)

微服务运维实战(第一卷) 0.0分

资源最后更新于 2020-08-19 16:03:48

作者:[西] Viktor Farcic

译者:任发科

出版社:华中科技大学出版社

出版日期:2018-01

ISBN:9787568041614

文件格式: pdf

标签: 微服务 DevOps Docker 运维 Ansible 容器 MSA Consul

简介· · · · · ·

《微服务运维实战(第一卷)》详细讲解微服务和容器在软件持续集成和部署中的应用。将微服务打包成不可变的容器,通过配置管理工具实现自动化测试和持续部署,同时保证零停机且随时能回滚。采用集中日志对集群进行记录和监控,轻松实现服务器扩展。作者通过讲解相关工具(Docker、Kubernetes、Ansible、Consul等)的用法,分享自己的工作经验,帮助读者构建高效、可靠、可快速恢复的软件系统。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

第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
微服务 27
3.2 单块应用与微服务的比较 29
运维和部署的复杂性 30
规模 31
部署、回滚和故障隔离 32
承诺期限 32
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
构建Docker容器 67
第6章 Docker世界中的配置管理 79
6.1 CFEngine 79
Puppet 80
Chef 80
最后几点思考 82
配置生产环境 83
设置Ansible Playbook 86
第7章 部署管道的实现——中间阶段 91
7.1 在生产服务器上部署容器 92
检查清单 97
第8章 发现服务——分布式服务的关键 99
8.1 服务注册表 101
服务注册 101
主动注册 102
注册服务 103
服务发现 103
服务发现工具 104
手动配置 106
Zookeeper 106
etcd 107
配置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作业 203
创建Jenkins Workflow作业 206
安装Jenkins Multibranch Workflow和Jenkinsfile 215
最后的想法 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、Consul Watches和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