登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

2023年03月出版新書

2023年02月出版新書

『簡體書』CoreOS实战

書城自編碼: 3160007
分類: 簡體書→大陸圖書→計算機/網絡操作系統/系統開發
作者: [美]Matt Bailey 著 蒲成 译
國際書號(ISBN): 9787302494522
出版社: 清华大学出版社
出版日期: 2018-02-01
版次: 1

書度/開本: 16开 釘裝: 平装

售價:NT$ 324

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
示人以真:健康组织这样开展业务
《 示人以真:健康组织这样开展业务 》

售價:NT$ 386.0
格林童话:1812/1815初版合集(权威全译本)
《 格林童话:1812/1815初版合集(权威全译本) 》

售價:NT$ 549.0
思想会·军力:现代战争的胜败解释
《 思想会·军力:现代战争的胜败解释 》

售價:NT$ 549.0
边界之外:海外社会研究(第一辑)
《 边界之外:海外社会研究(第一辑) 》

售價:NT$ 386.0
好销售,不违心:在你的舒适区内拿订单
《 好销售,不违心:在你的舒适区内拿订单 》

售價:NT$ 330.0
阿富汗史:骑驰在风暴中的国度
《 阿富汗史:骑驰在风暴中的国度 》

售價:NT$ 549.0
背影2
《 背影2 》

售價:NT$ 386.0
她的罪名
《 她的罪名 》

售價:NT$ 279.0

建議一齊購買:

+

NT$ 497
《 Cloud Native Go:构建基于Go和React的云原生Web应用与微服务 》
+

NT$ 656
《 CoreOS实践之路 》
編輯推薦:
容器技术能够显著提高软件运行、部署的效率,方便系统资源的管理。CoreOS Container Linux是专门为容器设计的轻量级Linux操作系统,适合集群部署,为关键的应用程序提供自动化、安全性和可伸缩性。读者对象是系统管理员、软件工程师以及对构建可扩展容错系统感兴趣的人。扫描书封底二维码,下载源代码
內容簡介:
《CoreOS实战》介绍CoreOS的生态系统与组件,如何在本地和云系统中设置CoreOS,然后逐步完善一个容器应用开发实例,*后介绍系统管理。
《CoreOS实战》是在CoreOS Container Linux上部署基于容器的系统的清晰指南。在其中,读者将看到一些讲解如何同时在私有基础设施和云系统中设置CoreOS的示例,并且可以使用真实的代码来实践常规的监控和升级技术。读者还将探究重要的容器感知的应用程序设计,其中包括微服务、Web和大数据示例,通过真实用例将读者所学知识转换成自有观点。
關於作者:
Matt Bailey 目前是 ZeniMax 的技术主管。Matt Bailey拥有15年的IT从业经验,他具有从大规模计算集群架构到前端编程的丰富知识。
目錄
目录
第Ⅰ部分 增进了解CoreOS
第1章 CoreOS家族介绍 3
1.1 迎接CoreOS 3
1.1.1 CoreOS家族 4
1.1.2 etcd和分布式配置状态 5
1.1.3 fleet和分布式服务状态 6
1.1.4 充当CoreOS init系统
的systemd 6
1.1.5 Docker和或rkt,容器
运行时 6
1.1.6 使用cloud-config进行
初始化配置 7
1.2 将核心服务装配到一起 7
1.2.1 CoreOS工作流 8
1.2.2 创建和运行服务 9
1.2.3 创建单元文件 10
1.2.4 服务拓扑和故障转移 12
1.3 本章小结 14
第2章 在工作站上开始研究 15
2.1 设置Vagrant 15
2.1.1 需求和设置 16
2.1.2 设置Vagrant并且运行它 17
2.1.3 让CoreOS集群在Vagrant中
运行 20
2.2 用于与CoreOS交互的工具 21
2.2.1 fleetctl 22
2.2.2 etcdctl 26
2.2.3 Toolbox容器 27
2.2.4 Linux管理员的概念转换 28
2.3 本章小结 29
第3章 可预期的故障:CoreOS中的
容错 31
3.1 监控的当前状态 31
3.1.1 有何不足 32
3.1.2 CoreOS的处理有何不同 33
3.2 服务调度与发现 34
3.2.1 部署生产环境NGINX
和Express 35
3.2.2 将etcd用于配置 35
3.3 进行一些破坏 40
3.3.1 模拟机器故障 40
3.3.2 自修复 41
3.4 应用程序架构和CoreOS 42
3.4.1 常见陷阱 42
3.4.2 新项目和遗留项目 43
3.4.3 配置管理 43
3.5 本章小结 43
第Ⅱ部分 应用程序架构
第4章 生产环境中的CoreOS 47
4.1 规划和部署选项 47
4.1.1 Amazon
Web服务 48
4.1.2 使用内部VM基础设施 50
4.1.3 在裸机上 50
4.2 与网络有关的注意事项 50
4.2.1 网络的可编程程度有多大 51
4.2.2 使用flannel启动和运行 52
4.3 我们的大容量存储在何处 55
4.3.1 数据系统背景 55
4.3.2 NAS和存储外包 56
4.3.3 Ceph 57
4.4 本章小结 61
第5章 应用程序架构和工作流 63
5.1 应用程序和十二要素方法论 63
5.1.1 CoreOS的方法 64
5.1.2 架构检查清单 65
5.2 软件开发周期 66
5.2.1 代码库和依赖性 66
5.2.2 环境逻辑和微服务 67
5.2.3 应用程序外沿 69
5.3 本章小结 69
第6章 Web栈应用程序示例 71
6.1 示例范围 71
6.1.1 这个应用程序会做些什么 72
6.1.2 应用架构概览 73
6.1.3 目标环境 74
6.2 设置持久化层 75
6.2.1 Couchbase设置 75
6.2.2 设置memcached 77
6.3 应用程序层 79
6.3.1 工作线程 80
6.3.2 Web应用 83
6.4 由此向何处发展 89
6.4.1 对故障进行响应 89
6.4.2 遗漏了什么 90
6.5 本章小结 91
第7章 大数据栈 93
7.1 本章示例的范围 93
7.1.1 架构的增加项 94
7.1.2 新的数据源 95
7.2 新的栈组件 95
7.2.1 Twitter数据收集器 96
7.2.2 编制Couchbase 98
7.2.3 启动和验证 105
7.2.4 启动工作线程 106
7.3 破坏我们的栈 108
7.3.1 监测故障 108
7.3.2 恢复机器 108
7.4 本章小结 109
第Ⅲ部分 生产环境中的CoreOS
第8章 AWS上的CoreOS 113
8.1 AWS背景介绍 114
8.1.1 AWS地区和正常运行
时间 114
8.1.2 AWS服务 115
8.1.3 本章必要条件 115
8.1.4 CloudFormation模板 116
8.1.5 AWS中的云配置 126
8.1.6 部署 129
8.2 本章小结 132
第9章 整合到一起:部署 133
9.1 新的CloudFormation对象 134
9.1.1 参数和输出 134
9.1.2 AWS Lambda 135
9.1.3 API Gateway 137
9.1.4 更新栈 138
9.2 部署应用 139
9.2.1 Web sidekick 139
9.2.2 初始化部署 140
9.3 自动化部署 142
9.3.1 Docker Hub设置 142
9.3.2 推送变更 143
9.4 本章小结 144
第10章 系统管理 145
10.1 日志记录和备份 145
10.1.1 设置日志 146
10.1.2 更新云配置 146
10.1.3 单元中的awslogs 147
10.1.4 浏览日志 148
10.1.5 备份数据 149
10.2 系统扩展 151
10.2.1 集群扩展 152
10.2.2 扩展分区 153
10.2.3 迁移服务 153
10.3 CoreOS展望 154
10.3.1 新的工具 155
10.3.2 rkt 155
10.4 本章小结 159
內容試閱
前 言

正如《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,以及进程检查点迁移。MOSIXopenMosix、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 ServicesAWS中CoreOS的实践部署。
第9章讲解如何使用第6章和第7章中所构建的整个软件栈,并且以自动化方式将它部署到第8章所构造的AWS环境中。
第10章通过探讨CoreOS的系统管理部分总结了《CoreOS实战》内容,其中包括日志记录、备份、扩展以及CoreOS的新rkt容器系统。
源代码下载
《CoreOS实战》中所有示例的源代码,包括一些非常长的AWS模板,都可以在www.manning.com
bookscoreos-in-action下载。也可扫描封底的二维码下载源代码。
作者简介
Matt Bailey目前是ZeniMax的技术主管。他曾致力于高等教育行业,并且曾供职于科学计算、医疗和网络技术公司,以及一些初创型公司。读者可以通过http:mdb.io以在线方式联系他。
作者在线
购买了《CoreOS实战》的读者可以免费访问Manning出版社所运营的一个私有网络论坛,读者可以在其中对《CoreOS实战》进行评论,提出技术问题,并且接受来自作者和其他读者的帮助。要访问该论坛并且进行订阅,可以将Web浏览器导航到www.manning.combooks
coreos-in-action。这个页面提供了相关的信息,其中包括如何在注册之后登录该论坛,可以得到哪些帮助,以及该论坛上的行为准则。
Manning出版社对于读者的承诺旨在提供一个场所,其中读者与读者之间以及读者与作者之间可以展开有意义的对话。作者方面的参与程度是无法得到保证的,但对于作者在线的贡献仍旧是自愿的并且免费的。我们建议读者尝试向作者提出一些具有挑战性的问题以免他没兴趣关注!
只要《CoreOS实战》还在印刷,就可以从出版商的网站上访问作者在线论坛和前述探讨内容的归档。
《CoreOS实战》封面介绍
《CoreOS实战》封面上的图画是一个叙利亚苦行僧。穆斯林苦行僧生活在宗教团体中,他们与世隔绝并且过着物资匮乏且冥想式的生活;他们是众所周知的智慧、医药、诗歌、启迪和妙语的源泉。该图例来自于伦敦老邦德街的William Miller于1802年1月1日出版的奥斯曼帝国服装图集。该图集的扉页已经丢失,并且我们至今都无法找到它的下落。这《CoreOS实战》的目录同时使用英语和法语来标识插图,每张插图都有创作它的两位艺术家的名字,他们无疑一定会为自己的作品被装饰到200年后的一本计算机编程书籍的封面上而感到惊讶。
自那时起,衣着习惯已经改变了,当时如此丰富的地区多样性已经逐渐消失。如今通常从衣着很难区分不同国家的居民。也许,尝试从乐观的角度来看,我们已经用文化和视觉上的多样性换来了更为多样化的个人生活或者说是更为丰富以及有趣的知识技术生活。Manning出版社的同仁崇尚创造性、进取性,这个图集中的图片使得两个世纪以前丰富多彩的地区生活跃然于纸上,以其作为图书封面会让计算机行业多一些趣味性。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.