CoreOS实战

CoreOS实战 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
Matt,Bailey 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-12-19

类似图书 点击查看全场最低价

图书介绍

出版社: 清华大学出版社
ISBN:9787302494522
版次:1
商品编码:12336387
包装:平装
开本:16开
出版时间:2018-03-01
用纸:胶版纸
页数:159
字数:274000


相关图书





图书描述

产品特色

编辑推荐

容器技术能够显著提高软件运行、部署的效率,方便系统资源的管理。

CoreOS Container Linux是专门为容器设计的轻量级Linux操作系统,适合集群部署,为关键的应用程序提供自动化、安全性和可伸缩性。

读者对象是系统管理员、软件工程师以及对构建可扩展容错系统感兴趣的人。


内容简介

《CoreOS实战》介绍CoreOS的生态系统与组件,如何在本地和云系统中设置CoreOS,然后逐步完善一个容器应用开发实例,最后介绍系统管理。

《CoreOS实战》是在CoreOS Container Linux上部署基于容器的系统的清晰指南。在其中,读者将看到一些讲解如何同时在私有基础设施和云系统中设置CoreOS的示例,并且可以使用真实的代码来实践常规的监控和升级技术。读者还将探究重要的容器感知的应用程序设计,其中包括微服务、Web和大数据示例,通过真实用例将读者所学知识转换成自有观点。


作者简介

Matt Bailey目前是 ZeniMax 的技术主管。Matt Bailey拥有15年的IT从业经验,他具有从大规模计算集群架构到前端编程的丰富知识。

目录

第Ⅰ部分 增进了解CoreOS
第1章 CoreOS家族介绍
1.1 迎接CoreOS
1.1.1 CoreOS家族
1.1.2 etcd和分布式配置状态
1.1.3 fleet和分布式服务状态
1.1.4 充当CoreOS init系统的systemd
1.1.5 Docker和/或rkt,容器运行时
1.1.6 使用cloud-config进行初始化配置
1.2 将核心服务装配到一起
1.2.1 CoreOS工作流
1.2.2 创建和运行服务
1.2.3 创建单元文件
1.2.4 服务拓扑和故障转移
1.3 本章小结
第2章 在工作站上开始研究
2.1 设置Vagrant
2.1.1 需求和设置
2.1.2 设置Vagrant并且运行它
2.1.3 让CoreOS集群在Vagrant中运行
2.2 用于与CoreOS交互的工具
2.2.1 fleetctl
2.2.2 etcdctl
2.2.3 Toolbox容器
2.2.4 Linux管理员的概念转换
2.3 本章小结
第3章 可预期的故障:CoreOS中的容错
3.1 监控的当前状态
3.1.1 有何不足
3.1.2 CoreOS的处理有何不同
3.2 服务调度与发现
3.2.1 部署生产环境NGINX和Express
3.2.2 将etcd用于配置
3.3 进行一些破坏
3.3.1 模拟机器故障
3.3.2 自修复
3.4 应用程序架构和CoreOS
3.4.1 常见陷阱
3.4.2 新项目和遗留项目
3.4.3 配置管理
3.5 本章小结

第Ⅱ部分 应用程序架构
第4章 生产环境中的CoreOS
4.1 规划和部署选项
4.1.1 Amazon Web服务
4.1.2 使用内部VM基础设施
4.1.3 在裸机上
4.2 与网络有关的注意事项
4.2.1 网络的可编程程度有多大
4.2.2 使用flannel启动和运行
4.3 我们的大容量存储在何处
4.3.1 数据系统背景
4.3.2 NAS和存储外包
4.3.3 Ceph
4.4 本章小结
第5章 应用程序架构和工作流
5.1 应用程序和十二要素方法论
5.1.1 CoreOS的方法
5.1.2 架构检查清单
5.2 软件开发周期
5.2.1 代码库和依赖性
5.2.2 环境逻辑和微服务
5.2.3 应用程序外沿
5.3 本章小结
第6章 Web栈应用程序示例
6.1 示例范围
6.1.1 这个应用程序会做些什么
6.1.2 应用架构概览
6.1.3 目标环境
6.2 设置持久化层
6.2.1 Couchbase设置
6.2.2 设置memcached
6.3 应用程序层
6.3.1 工作线程
6.3.2 Web应用
6.4 由此向何处发展
6.4.1 对故障进行响应
6.4.2 遗漏了什么
6.5 本章小结
第7章 大数据栈
7.1 本章示例的范围
7.1.1 架构的增加项
7.1.2 新的数据源
7.2 新的栈组件
7.2.1 Twitter数据收集器
7.2.2 编制Couchbase
7.2.3 启动和验证
7.2.4 启动工作线程
7.3 破坏我们的栈
7.3.1 监测故障
7.3.2 恢复机器
7.4 本章小结

第Ⅲ部分 生产环境中的CoreOS
第8章 AWS上的CoreOS
8.1 AWS背景介绍
8.1.1 AWS地区和正常运行时间
8.1.2 AWS服务
8.1.3 本章必要条件
8.1.4 CloudFormation模板
8.1.5 AWS中的云配置
8.1.6 部署
8.2 本章小结
第9章 整合到一起:部署
9.1 新的CloudFormation对象
9.1.1 参数和输出
9.1.2 AWS Lambda
9.1.3 API Gateway
9.1.4 更新栈
9.2 部署应用
9.2.1 Web sidekick
9.2.2 初始化部署
9.3 自动化部署
9.3.1 Docker Hub设置
9.3.2 推送变更
9.4 本章小结
第10章 系统管理
10.1 日志记录和备份
10.1.1 设置日志
10.1.2 更新云配置
10.1.3 单元中的awslogs
10.1.4 浏览日志
10.1.5 备份数据
10.2 系统扩展
10.2.1 集群扩展
10.2.2 扩展分区
10.2.3 迁移服务
10.3 CoreOS展望
10.3.1 新的工具
10.3.2 rkt
10.4 本章小结

前言/序言

前 言

正如《CoreOS实战》的许多读者一样,我也是作为Linux和UNIX系统以及网络的系统管理员而开启技术行业职业生涯的。另外,就像许多人一样,我从未对可用的自动化程度感到满意过,也从未对其无条件信任过。我们中的一些人或多或少使用过CFEngine、Puppet和Chef来进行管理,并且使用我们的技术进行更严谨的工程设计和承担较少的系统管理工作。之后容器变得流行起来,并且CoreOS的发布大规模地填平了容器与系统管理之间的沟壑。

我是在2013年末CoreOS刚刚问世时开始使用它的。它是一款大部分系统管理员都认为迟早会出现的OS。它提供了一种集成方式,以便将服务编制为从其所运行的计算资源池中提取的抽象。Manning出版社在2015年末开始联系我,想要知道我是否有兴趣编写一本CoreOS方面的书籍,我接受了这个提议并且开始奋笔疾书。当我由于这个项目而无法在业余时间陪伴我的孩子们时,我也感到愧疚。这是我的第一《CoreOS实战》,我发现,内容构思以及在Vim中输入这些内容并不是最难的部分,最难的是同时找到充满动力的书籍编写时间和不受打扰的自由时间。而这种情况很少会同时出现,尤其是在家有幼儿的情况下。

我希望《CoreOS实战》能够引导读者并且为读者带来一些挑战。从某种程度上说,这《CoreOS实战》的内容发展遵循了我职业生涯的发展轨道以及此技术领域的发展轨道。具体而言,CoreOS和类似的系统都旨在将单调乏味的运营工作转变成软件开发,并且将系统管理救火式的工作转变成声明式的工程设计。因此,《CoreOS实战》是从基础组成部分开始介绍的,并且以完整的软件栈作为结束。

关于《CoreOS实战》

《CoreOS实战》为应用程序架构、系统管理员以及寻求如何在不牺牲开发工作流或者运营简单性的情况下进行规模化计算的信息的人提供了一个有效资源。CoreOS及其组件套装提供了一种切实可行的方法来进行系统设计,其中高可用性、服务发现以及容错性变得不难实现,并且从一开始就成为核心基础设施和应用程序架构的组成部分。CoreOS和它所倡导的概念对于开发人员和运营专家来说都是有用的,CoreOS意识到在某种程度上容器化的意图正变得更易于投入运营、维护和迭代。

如果读者正在阅读《CoreOS实战》,那么大概已经注意到了,技术领域的普遍行动就是分解竖井并且将开发和运营这两方面结合到一起。在许多组织中,运营专家和应用程序架构师的角色正在被结合成一个角色,例如开发运营(DevOps)或者站点稳定工程(Site Reliability Engineering)。因而,一些人可能最终面临知识缺口。有时候,《CoreOS实战》可能看起来使用更高级的主题组合了对读者而言显而易见的信息,不过那是因为我在尝试为可能不具备成功使用CoreOS所需的部分基础知识的人提供完整的全局观念。

《CoreOS实战》读者对象

《CoreOS实战》的读者对象是系统管理员、软件工程师以及对构建可扩展容错系统感兴趣的人。《CoreOS实战》研究了使用CoreOS进行运营化和构建服务的软件架构;如果读者有兴趣了解构建可扩展的具有容错性的系统,那么《CoreOS实战》就是很好的资料来源。

《CoreOS实战》中并没有大量的功能性代码——我基本上是在介绍配置文件以及一些用于Amazon Web Services的YAML模板。对于Bash和通用Linux系统管理的基础理解应该就足以让读者入门了。在《CoreOS实战》后面的内容中,会提供具有JavaScript前端的Node.js示例,不过JavaScript经验并不是必要的。

在描述《CoreOS实战》章节之前,先介绍一些技术背景知识。

背景介绍

大约从2008年开始,扩展系统以便满足组织顾客的需要已经催生了包括服务、工具和咨询公司的整个行业。这些行业的最终目标一直都是管理具有较少资源的更大规模的系统——并且要非常快速地进行管理。这些平台即服务(Platform-as-a-Service,PaaS)、基础设施即服务(Infrastructure-as-a-Service,IaaS)以及配置管理套件都旨在将系统管理的重担转换成自动化系统,这样组织才能“轻易地”从规模化目标中将IT人力资源释放出来。其理念可以用一个比喻来形容(这个比喻是由Bill Baker提出的,这是我能找到的最贴切的比喻),我们应该将基础设施当作家畜而非宠物来对待。也就是说,计算资源单元是日用品或电器,而非具有名称的独立的、精心维护的服务器。当家畜出现问题时,我们会处理掉它们;而在宠物生病时,我们需要对其进行护理以便它们恢复健康。我们应该充分利用自动化,并且不应该过多关心是否必须进行重构;这样做应该是容易并且可复制的。

不过现实情况是,尝试达成这些可复制性和瞬时性目标通常会极其复杂。这样做的具体方式会变成竖井逻辑和工作流的黑盒,即使是在使用广泛引用的工具也会如此。像Chef和Puppet这样的配置管理系统对于此复杂性而言尤其脆弱——不是因为它们的设计就是如此,而是因为组织通常会遇到阻碍(技术性和非技术性的),而这些阻碍的最终解决都是以与这些工具的最佳实践完全无关的方式来处理的。在IaaS领域,组织通常会像处理其现场资源那样处理其公有云计算资源,这主要是因为IaaS具有允许这样做的灵活性,即使这样做会导致系统不可维护。下面介绍容器。

容器

LXC是在Linux用户空间中创建虚拟化运行时的早期实践。与chroots和jails相比较,它是一种比较重的抽象,但又比完全虚拟化轻。在Docker于2013年推出并且围绕LXC技术增加大量特性之前,很少有人使用过或者听说过LXC,最终,Docker用自己的组件完全替换了LXC的组件。在我看来,大体而言,Docker和容器化解决了虚拟化打算解决的问题:关注点的简单隔离、系统的复制以及不可变的运行时状态。其优势很明显:依赖性管理变得被轻易包含其中;运行时是标准化的;并且其方法对开发人员足够友好,开发和运营可以使用相同的工具,且每个字节都在使用同一容器。因此,我们已经越来越少地听到“它仅对我适用,而不适用于生产”这样的话了。CoreOS在某种程度上正是此计算模型的运营化,它利用了在通用、分布式系统模型中容器化的优势。

《CoreOS实战》从头至尾都在介绍如何利用此计算模型的优势。读者将了解如何同时在原型环境和云端生产环境中部署和管理CoreOS。还将了解到如何设计和调整应用程序栈以便它能在此上下文中很好地运行。除了该OS,还将详细介绍CoreOS的每个组件及其应用:etcd用于配置和发现,rkt用于另一种方式的容器运行时,fleet用于分布式服务调度,flannel用于网络抽象。

分布式计算并非新概念;许多用于分布式系统的模型和软件包自从计算的广泛应用开始就已经问世了。不过这些系统中的大多数模型和软件包都不为人所知,具有高度的专属权,或者隔绝在像科学计算这样的特定行业中。最老的一些设计如今仍然存在的唯一原因就是支持20世纪70年代的遗留系统,它们为大型机和小型机驱动着分布式计算。

CoreOS背后的历史与推动因素

单系统映像(Single System Image,SSI)计算的概念是一种OS架构,自20世纪90年代以来并没有看到它有多么活跃,它只在一些长期支持遗留系统的场景中得到了应用。SSI是一种架构,它将集群中的多台计算机作为单一系统来提供。其中有单一的文件系统、通过共享运行时空间来共享的进程间通信(Interprocess Communication,IPC),以及进程检查点/迁移。MOSIX/openMosix、Kerrighed、VMScluster和Plan 9(原生支持的)都是SSI系统。Plan 9上大概曾进行过大部分当前的开发活动,这应该表明了此计算模型当初的流行性。

SSI的主要缺陷在于,首先,这些系统通常难以配置和维护,并且并非旨在实现通用性。其次,该领域的发展已经明显停滞了:SSI中没有什么新东西出现,并且它已经无法跟上发展以用作一个流行模型。我认为这是因为科学和其他大数据计算已经拥抱了网格计算,比如像Condor、BOINC和Slurm这样的批处理操作模型。这些工具旨在在集群中运行计算任务并且交付结果;SSI的共享IPC无法为这些应用程序提供多少好处,因为数据传输的(时间)成本超过了阻塞式批处理过程的成本。在应用程序服务栈的领域中,通过像HTTP这样的协议的抽象以及分布式队列也让人们不再值得对共享IPC进行投入。

目前,对于分布式计算而言,问题域是如何有效管理大规模的系统。无论我们是在使用Web栈还是分布式批处理,可能都不需要共享IPC,不过SSI带来的其他内容具有更多显而易见的价值:共享文件系统意味着我们仅需要配置一个系统,并且进程检查点和迁移意味着结点都是可丢弃的并且“更类似家畜”。在不使用共享IPC的情况下,这些解决方案会难以实现。一些组织转而使用将配置应用到多台机器的配置管理系统,或者设置复杂的具有完全自定义逻辑的监控系统。根据我的经验来看,配置管理系统无法达成目标,因为它仅会完全确保运行时的所有状态;在它们运行完成之后,状态就会变成未知。这些系统更专注于可复制性而非一致性,这是一个好的目标,但无法提供通过分布式文件系统进行共享配置的可靠性。尝试同时管理进程的监控系统通常要么特定于应用程序,要么难以实现和维护。

无论是有意或无意,像Docker这样的容器系统都为重新利用SSI的优势奠定了基础,而不需要实现共享的IPC。Docker确保了运行时状态,并且提供了从OS中抽象出来的执行模型。“不过,”大家可能会想,“这完全与SSI相反。现在每一个独立的系统甚至都具有了更为隔离的配置和运行时,而非共享式的!”的确,此方法是不相关的,不过它实现了相同的目标。如果运行时状态仅被定义一次(比如在Dockerfile中),并且在整个容器生命周期中都对其进行维护,那么我们就达成单点配置的目标。并且,如果可以同时远程和独立于其运行之上的OS与集群结点来编制独立进程状态的话,我们就达成通用服务在集群范围内的进程调度这一目标。

意识到那些可能性就是需要独立于容器化系统之外的工具的地方。这正是CoreOS及其系统套件发挥作用的地方。CoreOS提供了足够的OS以供运行一些服务;其余的都是由etcd和fleet的编制工作来处理的—— etcd提供了分布式配置,从中容器可以定义其运行时特征,而fleet管理着分布式初始化和容器调度。从内部看,CoreOS也使用etcd来提供分布式锁以便自动管理OS升级,这转而又会使用fleet在整个集群中平衡服务,这样结点就可以自行升级了。

《CoreOS实战》路线图

第1章首先简要介绍CoreOS生态系统。我提供了容器OS中核心系统的一些阐释,以及一个并非真正旨在用于执行而是揭示这些部分如何适配到一起的简要示例。

第2章介绍设置一个本地CoreOS环境的过程,我们将在《CoreOS实战》大部分后续内容中使用它作为沙盒。这也是人们在现实环境中使用的过程,以便为CoreOS构建组件,因此进一步关注该章的内容会是一个好的做法。

第3章讲解与CoreOS容错性和系统升级的方式有关的内容,并且介绍设置一个容错性Web应用的处理步骤。我们在《CoreOS实战》其余内容中基于这个“Hello World”进行构建。

第4章探讨了现实世界的需求和CoreOS生产部署的目标,以及与如何处理集群中分布式文件系统选项有关的一个现实示例。

第5章会研究十二要素应用方法论以及如何将之应用到希望在CoreOS中部署的应用程序栈上。该章会以如何在第6章中应用此方法论的概述作为结束。

第6章将第3章的示例扩展成一个具有许多层的更为真实的Web应用。我们还将引入一个持久化数据库层。

第7章使用了第6章的持久化层并且深入探究了如何让它具有容错性和在所有集群机器中的可扩展性。

第8章深入研究Amazon Web Services(AWS)中CoreOS的实践部署。

第9章讲解如何使用第6章和第7章中所构建的整个软件栈,并且以自动化方式将它部署到第8章所构造的AWS环境中。

第10章通过探讨CoreOS的系统管理部分总结了《CoreOS实战》内容,其中包括日志记录、备份、扩展以及CoreOS的新rkt容器系统。

源代码下载

《CoreOS实战》中所有示例的源代码,包括一些非常长的AWS模板,都可以在www.manning.com/ books/coreos-in-action下载。也可扫描封底的二维码下载源代码。

作者简介

Matt Bailey目前是ZeniMax的技术主管。他曾致力于高等教育行业,并且曾供职于科学计算、医疗和网络技术公司,以及一些初创型公司。读者可以通过http://mdb.io以在线方式联系他。

作者在线

购买了《CoreOS实战》的读者可以免费访问Manning出版社所运营的一个私有网络论坛,读者可以在其中对《CoreOS实战》进行评论,提出技术问题,并且接受来自作者和其他读者的帮助。要访问该论坛并且进行订阅,可以将Web浏览器导航到www.manning.com/books/ coreos-in-action。这个页面提供了相关的信息,其中包括如何在注册之后登录该论坛,可以得到哪些帮助,以及该论坛上的行为准则。

Manning出版社对于读者的承诺旨在提供一个场所,其中读者与读者之间以及读者与作者之间可以展开有意义的对话。作者方面的参与程度是无法得到保证的,但对于作者在线的贡献仍旧是自愿的(并且免费的)。我们建议读者尝试向作者提出一些具有挑战性的问题以免他没兴趣关注!

只要《CoreOS实战》还在印刷,就可以从出版商的网站上访问作者在线论坛和前述探讨内容的归档。

《CoreOS实战》封面介绍 CoreOS实战 下载 mobi epub pdf txt 电子书 格式

CoreOS实战 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

CoreOS实战 下载 mobi pdf epub txt 电子书 格式 2024

CoreOS实战 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

类似图书 点击查看全场最低价

CoreOS实战 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


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

友情链接

© 2024 book.qciss.net All Rights Reserved. 图书大百科 版权所有