Apache Mesos是先進的集群管理器,既可以作為靈活的部署系統(tǒng),也可以作為強大的執(zhí)行平臺。它不僅為分布式應用程序提供了良好的資源隔離,而且突破性地實現(xiàn)了資源的靈活共享,極大地提高了資源的整體利用率。本書深入淺出,首先介紹了Mesos的基礎知識,隨后重點學習Mesos的兩種開源框架(Marathon和Chronos)。以實際程序樣例為線索,一步步講解如何配置,如何交互,以及如何構(gòu)建深度集成。接著詳細介紹如何為Mesos構(gòu)建自定義的框架,如何構(gòu)建核心Mesos API。最后深入研究Mesos的一些高級特性,比如和Docker的集成,其內(nèi)部架構(gòu),以及一些最先進的API,包括數(shù)據(jù)庫的持久化磁盤管理,以及框架預約系統(tǒng)。
理解Mesos架構(gòu),并且學習如何在集群內(nèi)管理CPU,內(nèi)存及其他資源。
在Mesos上使用Marathon構(gòu)建應用程序,Marathon是Mesos上托管服務的平臺。
為Mesos創(chuàng)建全新的,符合生產(chǎn)環(huán)境要求的框架。
編寫自定義執(zhí)行器,提供Mesos調(diào)度器和worker之間的豐富交互。
深入高級話題,包括核對流程,Docker集成,動態(tài)預留,以及持久化卷。
學習當前的一些Mesos項目,它們很可能會成為Mesos將來的特性。
崔婧雯,現(xiàn)就職于IBM,高級軟件工程師,負責IBM業(yè)務流程管理軟件的系統(tǒng)測試工作。曾就職于VMware從事桌面虛擬化產(chǎn)品的質(zhì)量保證工作。對分布式集群管理,虛擬化,業(yè)務流程管理都有濃厚的興趣。 David Greenberg是Two Sigma的首席架構(gòu)師,他負責公司交易策略所用的分布式計算環(huán)境。David有強烈的學習欲望,自學了俄語和中文,并且他很喜歡練習廚藝。他也是一個調(diào)度獨占作業(yè)的開源Mesos框架――Cook的設計師。
序 ................................................................................................ ix
第1 章 Mesos 介紹 ......................................................................1
如何使用Mesos .....................................................................................................2
Mesos 作為部署系統(tǒng) ..............................................................................................3
Mesos 作為執(zhí)行平臺 ..............................................................................................4
本書是如何組織的 .................................................................................................5
本章小結(jié) ................................................................................................................5
第2 章 開啟Mesos 之旅 ...............................................................7
框架 .......................................................................................................................7
Master 和Slave ......................................................................................................8
Master .............................................................................................................8
Slave ..............................................................................................................10
資源 .....................................................................................................................13
配置自定義資源 ............................................................................................15
配置slave 屬性 .............................................................................................16
角色 .....................................................................................................................16
靜態(tài)和動態(tài)slave 預留 ..................................................................................17
任務和執(zhí)行器 ......................................................................................................20
CommandExecutor ........................................................................................21
理解mesos.proto ..................................................................................................21
不通過Mesos 管理 ..............................................................................................24
本章小結(jié) ..............................................................................................................25
第3 章 將已有應用程序遷移到Mesos 上 .....................................27
將Web 應用程序遷移到Mesos 上 .......................................................................27
搭建Marathon ......................................................................................................28
使用Marathon ......................................................................................................30
擴展應用程序 ................................................................................................35
使用位置約束 ................................................................................................35
運行容器化的應用程序 .................................................................................37
掛載主機卷 ...................................................................................................38
健康檢查 .......................................................................................................40
應用版本化和滾動升級 .................................................................................42
事件總線 .......................................................................................................43
搭建Marathon 上的HAProxy .......................................................................43
在Marathon 上運行Mesos 框架 ..........................................................................47
Chronos 是什么 .............................................................................................47
在Marathon 上運行Chronos .........................................................................48
Chronos 運維注意事項 ..................................................................................49
Marathon 上的Chronos :小結(jié) .............................