微服务运维实战(第二卷)维克托·法西克(Viktor ISBN:9787568053532

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

书籍作者:维克托·法西克(Viktor

ISBN:9787568053532

书籍语言:简体中文

连载状态:全集

电子书格式:pdf,txt,epub,mobi,azw3

下载次数:7494

运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板

内容简介

《微服务运维实战(第二卷)》在第一卷的基础上,以时下热门的Docker Swarm为例,详细介绍微服务和容器在软件持续集成和部署中的应用。本书重点讲解如何在Docker Swarm上构建、测试、部署、监控微服务,帮助读者打造大规模、高效、可靠、可快速恢复的软件系统。

作者简介

Viktor Farcic是CloudBees公司的资深架构师、咨询师,他有着二十多年的软件开发经验,精通多种编程语言(包括C、C++、C#、Java、Perl、Python、Scala、JavaScript等),目前他感兴趣的领域是微服务、持续集成、持续部署、测试驱动开发。

编辑推荐

美国亚*逊书店微服务与持维集成类畅销书。Jenkins和Docker社区的大牛 Viktor Farcic新作品。

《微服务运维实战(第二卷)》电子书免费下载

pdf下载
txt下载
epub下载
mobi下载
azw3下载
下载暂时关闭,开启另行通知

前言

我还记得2016年与Docker的工程师们在西雅图共度的时光。我花了4天时间和他们一起研究即将在1.12版中发布的新特性,以及1.12版之后的路线图。当时我以为已经理解了他们提出的所有概念和特性。然而,当我一周后开始“把玩”新的Docker Swarm模式时,我才意识到自己的大脑仍然束缚于以往的工作方式。新版本的改动太多,随之也出现很多新的可能性。我花了几周的时间才把大脑清零,直到那时,我才真正明白Docker的工程师们在这个版本中做了多大的改动。

在探索Swarm模式的同时,我也陆续收到来自《微服务运维实战(第一卷)》读者的电子邮件。他们提了很多要求,希望我在深入探讨已有话题的同时也能涵盖新的主题,其中反复提到的一个要求是“希望你更深入地介绍集群”。读者希望更详细地了解如何操作集群以及如何将其与持续部署结合。他们还希望我研究零停机时间部署的其他方法,希望更有效地监控系统,更接近自愈系统,等等。

因此,结合Docker 1.12的新特性与读者的请求,我决定写一本新书《微服务运维实战(第二卷)》,同时“微服务运维实战”系列也应运而生了。

Big Nerd Ranch公司采用本书作为“iOS新手培训课程”的教材。这些内容经过了长期的检验,并且帮助很多人成为iOS程序员。真心希望本书也能给你带来帮助。

目录

第1章 利用Docker容器持续集成 1

1.1 完全Docker化的手动持续集成流程 3

1.2 运行单元测试并构建服务的二进制文件 5

1.3 构建服务镜像 7

1.4 运行模拟测试 10

1.5 推送镜像到镜像库 12

第2章 搭建并运行Swarm集群 17

2.1 可扩展性 18

2.2 轴向扩展 19

X轴扩展 20

Y轴扩展 21

Z轴扩展 22

2.3 集群 22

2.4 Docker Swarm模式 23

2.5 搭建一个Swarm集群 25

2.6 在Swarm集群上部署服务 28

2.7 扩展服务 30

2.8 故障转移 31

2.9 现在怎么办 32

第3章 Docker Swarm网络和反向代理 33

3.1 搭建一个集群 34

3.2 以高可用性运行安全的和容错的服务需求 35

3.3 隔离数据库的运行 37

3.4 通过反向代理运行服务 41

3.5 创建一个反向代理服务负责根据基URL路由请求 42

3.6 对一个服务的所有实例实施负载均衡的请求 47

3.7 现在怎么办 50

第4章 Swarm集群内的服务发现 51

4.1 没有注册中心Docker Swarm会怎样 51

4.2 独立的Docker Swarm加上服务发现会是什么样的 55

4.3 Swarm集群中的服务发现 56

4.4 我们需要服务发现吗 57

4.5 将Consul设置为Swarm集群内的服务注册中心 58

4.6 缩放有状态实例时出现的问题 63

4.7 使用服务注册中心来存储状态 64

4.8 发现组成服务的所有实例的地址 69

4.9 使用服务注册中心或键值存储来存储服务状态 71

4.10 现在怎么办 74

第5章 使用Docker容器进行持续交付和部署 75

5.1 定义持续交付环境 76

5.2 搭建持续交付集群 77

5.3 使用节点标签来约束服务 80

5.4 创建服务 83

5.5 示范持续交付步骤 85

5.6 从持续交付到持续部署走得更远 90

5.7 现在怎么办 91

第6章 使用Jenkins自动化持续部署流程 93

6.1 Jenkins架构 93

6.2 搭建生产环境 94

6.3 Jenkins服务 95

6.4 Jenkins故障转移 99

6.5 Jenkins代理 100

6.6 在生产和类生产环境中创建服务 108

6.7 使用Jenkins自动化持续部署流程 110

6.8 创建Jenkins流水线作业 111

6.9 定义流水线节点 113

6.10 定义流水线阶段 115

6.11 定义流水线步骤 116

6.12 现在怎么办 121

第7章 探索Docker远程API 123

7.1 搭建环境 124

7.2 通过Docker Remote API操作Docker Swarm 125

7.3 使用Docker Remote API自动配置代理 134

7.4 将Swarm Listener与代理相结合 135

7.5 自动重新配置代理 136

7.6 从代理中删除服务 138

7.7 现在怎么办 138

第8章 使用Docker Stack和Compose YAML文件来

部署Swarm Services 141

8.1 搭建Swarm集群 142

8.2 通过Docker Stack命令创建Swarm服务 142

8.3 部署更多stack 145

8.4 stack,用还是不用 147

8.5 清理 147

第9章 定义日志策略 149

9.1 集中日志的需求 151

9.2 将ElasticSearch设置为日志数据库 153

9.3 将LogStash设置为日志解析器和转发器 154

9.4 从Swarm集群内任意位置运行的所有容器转发日志 157

9.5 探索日志 161

9.6 讨论其他日志解决方案 166

9.7 现在怎么办 167

第10章 收集指标与监控集群 169

10.1 集群监控系统的需求 169

10.2 选择正确的数据库来存储系统指标 171

10.3 创建集群 173

10.4 Prometheus指标 175

10.5 导出系统范围的指标 176

10.6 拉取、查询和可视化Prometheus指标 181

10.7 使用Grafana创建看板 188

10.8 在Grafana中探索Docker Swarm和容器概览仪表板 195

10.9 通过仪表板指标调整服务 201

10.10 监控佳实践 204

10.11 现在怎么办 205

第11章 拥抱毁灭:宠物与牛 207

11.1 现在怎么办 209

第12章 在Amazon Web Services中创建和管理Docker Swarm集群 211

12.1 安装AWS CLI并设置环境变量 212

12.2 使用Docker Machine和AWS CLI来配置Swarm集群 215

12.3 使用Docker在AWS中建立Swarm集群 223

12.4 在AWS中使用Docker自动配置Swarm集群 232

12.5 使用Packer和Terraform来创建Swarm集群 236

12.6 使用Packer创建Amazon机器镜像 236

12.7 在AWS中使用Terraform创建Swarm集群 241

12.8 在AWS中选择正确的工具创建和管理Swarm集群 257

12.9 是使用还是不使用Docker Machine 257

12.10 是使用还是不使用Docker for AWS 258

12.11 是使用还是不使用Terraform 260

12.12 后的结论 263

第13章 在DigitalOcean中创建和管理Docker Swarm集群 265

13.1 设置环境变量 267

13.2 使用Docker Machine和DigitalOcean API创建Swarm集群 269

13.3 使用Packer和Terraform创建Swarm集群 275

13.4 使用Packer创建DigitalOcean快照 276

13.5 在DigitalOcean中使用Terraform创建一个Swarm集群 280

13.6 选择合适的工具创建和管理DigitalOcean中的Swarm集群 298

13.7 是使用还是不使用Docker Machine 299

13.8 是使用还是不使用Terraform 300

13.9 后的结论 301

13.10 是使用还是不使用DigitalOcean 302

第14章 在Swarm集群中创建和管理有状态的服务 303

14.1 探索十二因素应用程序方法论 303

14.2 设置Swarm集群和代理 308

14.3 运行不需要数据持久性的有状态服务 312

14.4 在主机上持久化有状态的服务 317

14.5 在网络文件系统上持久化有状态服务 318

14.6 数据卷的编排 323

14.7 使用REX-Ray持久化有状态服务 323

14.8 为有状态服务选择持久性方法 329

14.9 在Packer和Terraform中加入REX-Ray 331

14.10 无复制的有状态服务持久化 337

14.11 使用同步和复制持久化有状态服务 337

14.12 持久化Docker Flow Proxy的状态 338

14.13 持久化MongoDB的状态 340

14.14 通过Swarm服务初始化MongoDB副本集 349

14.15 现在怎么办 353

第15章 在Docker Swarm集群中管理secrets 355

15.1 创建secrets 355

15.2 使用secrets 357

15.3 一个使用secrets的真实世界的例子 358

15.4 在Docker Compose中使用secrets 359

15.5 使用secrets的常用方法 361

15.6 现在怎么办 362

附录A 使用Docker和Prometheus监控你的GitHub库 363

A.1 Docker、Prometheus和Grafana 363

A.2 入门 364

A.3 配置 364

A.4 后续配置 365

A.5 安装dashboard 366

A.6 结论 367

索引 369

标签

微服务,容器,Swarm,Docker,DevOps,MSA,Kubernetes,Consul

产品特色

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: