Swarm容器编排与Docker原生集群

Swarm容器编排与Docker原生集群 pdf epub mobi txt 电子书 下载 2025

[俄] Fabrizio,Soppelsa(法布里齐奥·索贝尔萨),[泰] Chanwit,Kaewkasi(占伟·瓦卡斯) 著,崔婧雯 钟最龙 译
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121317927
版次:1
商品编码:12215652
品牌:Broadview
包装:平装
开本:16
出版时间:2017-07-01
用纸:胶版纸
页数:240

具体描述

产品特色

编辑推荐

本地测试环境→大型分布式基础设施→Swarm内部运作|SwarmKit新特性→大规模部署自动化→公有私有云配置运营Swarm集群→大型生产级应用|大规模容器部署→卷|调度|Libnetwork、安全|平台伸缩性→与Docker生态无缝整合→无需重构容器应用便可适配其他平台。具体内容包括:

? 创建并管理任意大小的Swarm Mode集群

? 深入了解迄今为止创建的至大的Swarm集群的幕后,即Swarm 2k和Swarm 3k,分别有2300和4700个节点

? 理解发现机制和Raft

? 在Swarm上部署容器化应用

? 管理AWS、Azure和DigitalOcean上的Swarm集群

? 在Swarm中整合Flocker卷

? 在Openstack Magnum上创建并管理Swarm

内容简介

Docker Swarm作为Docker集群原生的容器编排解决方案,是Docker生态系统中的关键组件之一。《Swarm容器编排与Docker原生集群》涵盖了Swarm中的发现、调度、高可用、安全和平台伸缩性等重要主题,能帮助你了解Swarm如何组建包含4700个节点的集群,并掌握Swarm的使用与管理,以及如何使用实现大规模应用的可伸缩。

《Swarm容器编排与Docker原生集群》适合企业架构、开发、运维等各岗位从业者阅读,同样适合广大想了解当前主流CaaS架构内在运行原理与真实场景实践的普通学习者。

作者简介

Fabrizio Soppelsa是一家OpenStack公司——Mirantis的高级工程师。从Docker 0.3版本开始,他就是Docker的积极使用者和倡导者,他用三个国家的语言发表了Docker工具相关的多篇文章。他也是一些项目,特别是Machine项目的实际贡献者。他目前生活在俄罗斯的莫斯科,他和他的蜘蛛Mosha是那里Docker见面会的组织者。

我要感谢ClusterHQ的工作人员对Flocker的帮助,特别感谢Ryan Wallner。也要感谢Yandex团队和Denis Kutin提供了免费的OpenStack实验室,让我能够很容易地使用。感谢Mirantis创建了(我认为是)极好的OpenStack发行版本。感谢Docker团队和Docker社区带给我的所有快乐。

Chanwit Kaewkasi是泰国苏兰拉里理工大学计算机学院的助理教授。Chanwit从0.1版本就开始参与Docker Swarm项目的贡献,他协同设计并且实现了策略过滤器、ZooKeeper发现,以及其他特性。他目前是Docker Swarm的维护者以及Docker Captain(社区给Docker专家的称号)。

我还要感谢我的妻子——Pitchaya,感谢她的鼓励以及对我的工作,包括这本书的大力支持。

要送给Docker Engineering团队特别的感谢,感谢他们开发出的伟大的软件。感谢苏兰拉里理工大学为我提供了很棒的工作场所。感谢我的父母对我的支持。最后还要感谢Fabrizio邀请我合作撰写本书。

审阅者介绍

Baohua Yang是IBM的资深研究员。他的兴趣包括云计算、Fintech、分布式系统和分析的核心领域。他对那些新兴技术特别感兴趣,比如,SDN/NFV、容器、大数据、区块链和认知计算。

作为首席架构师,他领导企业产品的架构设计和系统实现,并且帮助解决了行业解决方案的关键技术难题。

作为开源社区的贡献者,他向数个项目提交代码、方案和演讲,包括OpenStack、Hyperledger、OpenvSwitch、Docker、OpenDaylight和Kubernetes,并且领导了一些项目,包括easyOVS、Hyperledger Fabric-SDK-py和 Cello。他现在是中国Hyperledger技术工作组的主席。

他在前列的互联网会议和期刊(包括IEEE INFOCOM,IEEE Trans on Computers)上发表了十多篇文章,并且参与撰写了一些技术书籍和专利。他现在是数个学术会议和期刊的TPC成员。

他的主页:https://yeasy.github.com。

译者介绍

崔婧雯,具有近10年软件测试开发经验。现就职于IBM,高级软件工程师,负责IBM WebSphere业务流程管理软件的系统测试和自动化CI测试平台的开发工作。曾就职于VMware从事桌面虚拟化产品的质量保证工作。对Dokcer,虚拟化,业务流程管理等技术有浓厚的兴趣。译有《Mesos 大数据资源调度与大规模容器运行 佳实践》《持续轻量级Java EE开发:编写可测试的代码》《用Mesos框架构建分布式应用》等技术著作。

目录

第1章 欢迎来到Docker Swarm1

集群工具和容器管理器3

Swarm的目标3

为什么使用Swarm4

真实的示例5

-- 宠物模型vs牛群模型5

Swarm特性6

类似项目7

-- Kubernetes7

-- CoreOS Fleet8

-- Apache Mesos9

-- Kubernetes vs Fleet vs Mesos10

-- Swarm vs所有10

Swarm v1架构10

-- 术语12

开始使用Swarm13

-- Mac系统上的Docker14

-- Windows系统上的Docker16

-- 使用Linux18

-- 检查Docker Machine是否可用——所有系统19

以前的Swarm19

-- Boot2Docker21

-- 使用Docker Machine创建4个集群节点21

-- 配置Docker主机24

-- 启动Docker Swarm25

-- 测试Swarm集群29

-- 如今的Swarm31

本章小结35

第2章 探索发现服务36

发现服务37

Token38

-- 使用token重新架构第1章示例38

-- Token的限制43

Raft43

-- Raft理论43

-- 实际的Raft45

Etcd47

-- 使用Etcd重新架构第1章示例47

ZooKeeper50

Consul50

-- 使用Consul重新架构第1章示例50

实现去中心化的发现服务52

本章小结52

第3章 遇见Docker Swarm Mode53

SwarmKit53

-- 版本和支持54

-- SwarmKit架构54

-- SwarmKit的核心:swarmd56

-- SwarmKit的控制器:swarmctl57

-- 使用Ansible预配SwarmKit集群58

-- 在SwarmKit上创建服务62

Swarm Mode63

-- Swarm v1 vs Swarm Mode vs SwarmKit64

-- 深入了解Swarm Mode部署65

本章小结72

第4章 创建生产级别Swarm73

工具73

Swarm2k的HA拓扑74

-- 管理器配置75

-- Raft恢复场景75

-- Raft文件76

-- 运行任务76

-- 管理器拓扑76

使用belt预配基础架构79

使用Docker Machine保护管理器安全81

理解Swarm内部机制83

-- 加入worker84

-- 升级管理器85

监控Swarm2k87

-- InfluxDB时间序列数据库87

Swarm3k90

-- Swarm3k的搭建和工作负载90

-- 大规模Swarm的性能92

总结Swarm2k和Swarm3k的经验教训95

本章小结96

第5章 管理Swarm集群97

Docker Swarm standalone97

Docker Swarm Mode98

-- 手动添加节点99

-- 管理器99

-- Worker数量100

-- 添加脚本化节点100

-- belt102

-- 使用Ansible103

集群管理105

-- 操作节点106

降级和升级107

-- 标记节点108

-- 移除节点110

Swarm健康111

备份集群配置111

灾难恢复112

Swarm的图形化界面112

-- Shipyard112

-- Portainer114

本章小结115

第6章 Swarm上真实应用的部署116

微服务116

部署一个复制的Nginx117

-- 一个极简的Swarm118

-- Docker Service120

overlay网络124

集成的负载均衡124

服务的连接:用WordPress例子展示124

-- Swarm的调度策略127

-- 现在,WordPress127

Docker Compose和Swarm Mode130

Docker stacks介绍130

-- 分布式应用包131

-- Docker deploy132

另外一个应用:Apache Spark133

-- 为什么要在Docker上运行Spark134

-- 没有Swarm的Spark单机134

-- 在Swarm上的Spark单机137

-- 在Swarm上启动Spark138

本章小结140

第7章 平台的向上伸缩141

再次登场的Spark例子142

Docker插件142

实验室环境143

-- 一个独一无二的秘钥143

-- Docker Machine144

-- 安全组145

-- 网络配置146

-- 存储配置和架构146

安装Flocker148

-- 生成Flocker证书149

-- 安装软件151

-- 安装控制节点153

-- 安装集群节点153

-- 测试一切是否正常154

安装并配置Swarm156

-- 为Spark添加一个卷157

再次部署Spark157

-- 测试Spark159

-- 使用Flocker存储161

伸缩Spark164

监控Swarm托管的应用165

-- Prometheus165

-- 安装一个监控系统166

-- 在Grafana中导入Prometheus167

本章小结169

第8章 Swarm附加特性的探索171

Libnetwork171

-- Networking插件172

-- 容器网络模型173

加密和路由矩阵174

MacVLAN174

-- overlay网络175

网络控制面板177

Libkv179

-- 如何使用libkv180

本章小结181

第9章 Swarm集群和Docker软件供应链的安全加固182

软件供应链182

Swarm集群的安全加固183

安全加固Swarm:最佳实践184

-- 证书颁发机构185

-- 证书和相互TLS185

-- 集群加入令牌185

-- 在Docker Machine中添加TLS186

Docker Notary187

Docker Secret介绍190

本章小结192

第10章 Swarm和云193

Docker for AWS和Docker for Azure193

-- Docker for AWS194

-- Docker for Azure198

Docker Datacenter201

OpenStack上的Swarm202

-- OpenStack Nova204

-- 当下现实:OpenStack友好的方式205

-- OpenStack Heat205

-- OpenStack Magnum206

本章小结215

第11章 Swarm的未来展望216

Provisioning的挑战216

软件定义基础设施216

-- Infrakit217

-- TUF—— The Update Framework219

Docker Stacks和Compose220

Caas ——容器即服务220

Unikernel220

为Docker做贡献222

-- Github222

-- 提交issue222

-- 代码223

-- belt和其他项目223

本章小结223

前言/序言

欢迎来到《Swarm容器编排与Docker原生集群》一书!这是一本关于容器和分布式系统的书。本书将介绍如何使用原生的Docker工具建模微服务、生成任务、扩大应用程序的规模,以及将容器推送到Docker集群里!一句话来说,本书将讨论Docker的编排。

随着最近Swarm Mode的崛起,以及Docker Engine启用了Swarm功能,编排Docker的最佳方式其实还是Docker!

听上去不错,但是“编排Docker”是什么意思呢?什么是编排?更确切的说法是,什么是管弦乐队?

管弦乐队指的是音乐家的全体,它由指挥家指挥,指挥家负责控制节奏、旋律,塑造出音乐的整体。弦乐队、管乐队、打击乐队、键盘乐队以及其他乐队都会遵循指挥家的指挥,共同演奏出惊人的交响乐曲,比如贝多芬的《第九交响乐》。

类似地,在容器编排系统里,音乐家是任务,指挥家则是领导者服务(Swarm primitives)。任务并不演奏旋律,或者并不仅仅做这些:更为抽象地说,它们执行一些计算型工作,比如,运行Web服务器。而指挥家——Swarm,则负责它们的预配,它们的可用性,它们的链接,它们的扩展。这也就是大家所说的“Docker编排”。

本书讲述如何预配这样的Docker“管弦乐队”,如何保证服务的可用性,如何连接任务,以及如何扩展平台,从而演奏出属于应用程序的动人交响乐。

本书范围

第1章“欢迎来到Docker Swarm”会介绍Swarm,并且解释用户为什么需要集群解决方案来管理容器。这一章介绍Swarm的特性,介绍其架构的高层级描述。这一章还设计了一些示例,讲述Swarm和Fleet、Kubernetes、Mesos的不同之处。之后也会介绍Docker工具的安装以及两种Swarm的预配方式:本地的Swarm Standalone和远程在DigitalOcean上的Swarm Mode集群。

第2章“探索发现服务”是描述性语言最多、最抽象的一章。这一章介绍发现机制和共识算法是什么,以及它们为什么对于分布式系统来说至关重要。本章会详细介绍Swarm Mode包含的共识机制Raft及其实现Etcd。还会介绍第1章“欢迎来到Docker Swarm”里所使用的发现机制的局限性,并且使用Consul扩展上一章的本地示例,之后重新将其部署。

第3章“遇见Docker Swarm Mode”介绍全新的Docker kit,它能够帮助用户创建任何规模的任务集群。本章会介绍Docker Swarm Mode的基础——SwarmKit,介绍它在Docker 1.12+版本里是如何工作的,讨论其架构、理念,它和“旧”Swarm的不同之处在哪里,以及它是如何通过抽象出服务和任务来组织工作负载的。

第 4 章“创建生产级别Swarm”介绍并且讨论了社区驱动的项目——Swarm2k和Swarm3k,我们实验了2300和4800个节点的Swarm集群,可以运行成千上万个容器。最后总结了可用计划,预配多大规模的集群,以及实验中的经验教训。

第5章“管理Swarm集群”主要探讨基础架构。这一章展示如何增加或者降低Swarm的规模,如何promote以及demote节点,以及如何更新集群和节点的属性。这一章还会介绍Shipyard和Portainer.io,其可以作为Swarm的图形UI。

第6章“Swarm上真实应用的部署”介绍了将真实应用程序放到Swarm上,并且讨论了Compose、Docker Stacks和Docker Application Bundles。这一章展示了典型的部署工作流如何在集群里过滤并且调度容器,将其作为服务启动,将容器作为任务处理。这一章从定义一个使用Nginx的Web服务开始,然后部署一个使用MySQL的WordPress,最终介绍一个更为实际的应用:Apache Spark。

第7章“平台的向上伸缩”将在前几章的基础上开始新的话题讨论。这一章将介绍Flocker,给Swarm上运行的Spark增加存储能力,并且会展示如何安装,以及如何和Swarm一起大规模、自动地使用它。这一章将完善之前的Spark示例,运行一些真实的大数据job,并且为该基础架构搭建基础的监控系统。

第8章“Swarm附加特性的探索”讨论了一些对于Swarm来说很重要的高级话题,包括Libnetwork和libkv。

第9章“Swarm集群和Docker软件供应链的安全加固”关注Swarm集群的安全方面,会介绍平台的参数、证书、防火墙等概念,并且会介绍Notary。

第10章“Swarm和云”介绍了在云供应商那里运行Swarm的最为流行的几种方案。将在AWS和Azure上安装Swarm,然后介绍Docker Datacenter,最后会转向OpenStack,介绍在Magnum上如何安装以及管理Swarm,Magnum是OpenStack提供的容器即服务方案。

第11章“Swarm的未来展望”展望了Docker编排的趋势,比如软件定义的基础架构、Infrakit、unikernel以及Caas。伟大的征途尚未结束!

阅读本书的要求

本书假定读者有在命令行里使用Docker的经验:本书通篇会持续地拉取镜像、运行容器、定义服务、暴露端口以及创建网络。

另外,读者最好对网络协议有一些基本了解,并且熟悉公有云和私有云的概念,比如虚拟机和tenant网络。

要实践本书的示例,读者需要Docker及其工具。第1章“欢迎来到Docker Swarm”介

用户评价

评分

挺有用的工具书。

评分

非常不错,讲的也很全面。

评分

IT民工的生命在于学习。。。

评分

囤货中,买来学习,超实用,超低价,赶紧下手囤货。

评分

IT民工的生命在于学习。。。

评分

专业性很强。

评分

入门必读,非常好的教材,有些过时的技术觉得没有必要介绍了。

评分

好.......

评分

好.......

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 windowsfront.com All Rights Reserved. 静流书站 版权所有