随着应用容器的探索和实践,出现了以CoreOS为代表的将服务容器化的最佳实践。《CoreOS实战之路》一书首先介绍了CoreOS诞生的背景和Docker容器的基本操作,接着通过庖丁解牛的方式重点阐述CoreOS提供的核心服务,最后通过应用容器和集群服务的三种典型应用场景分析了CoreOS的工程实践以及故障处理方法。
√ CoreOS是全球范围内Docker最有力竞争者,得到谷歌等全部一线大公司鼎力支持
√ 本书是国内唯一一本讲解CoreOS的技术图书,覆盖全面,内容系统,实战性强
√ 作者林帆是Thoughtworks资深工程师,也是国内CoreOS的布道者与实践者
√ 定位于容器技术,同时覆盖了Docker及CoreOS与其他容器技术的组合应用
前 言
关于CoreOS系统
一直以来,服务器操作系统的升级都是运维人员感到棘手的事情。目前市面上的各种服务器操作系统普遍存在版本壁垒,无法保证安全的系统升级和回滚,这使得许多服务器不得不长时间运行在已经过时的内核和系统组件上,然后手工安装紧急的安全补丁或者索性完全不在意系统的安全问题。CoreOS系统并不是第一个尝试解决这种现状的服务器系统,但它却是被最先设计出的能够安全可靠地用于生产环境中系统持续升级解决方案的操作系统。
出于这样的初衷,CoreOS采用了基于双系统分区、容器技术和集群架构的设计思路,克服了由于用户修改系统内容、用户服务对系统组件依赖,以及系统重启时服务中断等种种导致升级过程不可靠的因素,最终以一种轻量级、平台定制化的操作系统呈现出来。它尽可能地适应各种不同的基础设施环境,使得系统具备十分便捷的集群组建能力,并鼓励用户通过容器技术隔离服务运行环境。
熟悉CoreOS系统的操作,除了理解它的只读系统分区和双系统分区等特殊性,更多的要求还在于熟悉CoreOS内置的容器和集群工具,例如Docker、Rkt、Systemd、Fleet、Etcd、Locksmith,以及与Confd、Flannel和Kubernetes等非内置服务的集成使用。这些内容都会在本书的相应章节中逐一介绍。
本书的内容
本书是一本介绍CoreOS操作系统使用和周边技术的入门实践类书籍。本书内容分为三个主要部分。
第一部分,包括第1章的内容。主要介绍CoreOS的基本概念和系统的安装,为后续各个组件的使用做好铺垫工作。
第二部分,包括第2~6章的内容。主要介绍CoreOS中最核心的内置组件,通过这些组件,使用者能够完成大部分CoreOS的日常操作和开发任务。
第三部分,包括第7~9章的内容。主要针对CoreOS中一些比较进阶的话题以及组件进行更具体的讲解,并介绍一些CoreOS使用技巧。
在通读了这些内容后,相信读者会对CoreOS系统有一个比较全面的认识。
关于本书
本书的诞生源于我在CSDN发表的《CoreOS实践指南》系列文章,在许多章节中都依然可以看见该系列文章的影子。但由于CoreOS周边的技术发展迅速,当时刊在网络上的许多内容都已经逐渐过时,本书针对这部分内容进行了修改,并扩充了大量在网络文章中由于篇幅原因没有详细介绍说明的技巧和信息,同时增加了如Flannel、Kubernetes等周边内容,从字数上看来,其容量大约是原系列文章的5倍。本书在编写过程中持续更新了系统的最新特性,直至定稿前CoreOS的v835.0.0版本和Kubernetes的v1.0.6版本,从新特性变化的频率来看,目前这些技术都已经进入相对稳定的阶段,其内容会在未来较长时间内适用。
由于作者时间与水平的局限,尽管在后期已经对书的内容进行过校检,但书中难免依然存在一些纰漏和错误。如果读者发现了问题,请发送至作者的邮箱:linfan.china@gmail.com。同时,在本书的网站http://coreos.space中也会及时发布相应的后续内容更新和勘误。
致谢
本书的出版,首先要感谢鼓励我发表《CoreOS实践指南》系列文章的前CSDN编辑周小璐女士,她是我在技术写作路上的一位伯乐,没有她的帮助,我肯定无法完成这个原本只是写在自己默默无闻的博客上的技术分享。
其次,非常感谢电子工业出版社的张春雨先生。在本书写作的近10个月时间里,张先生的敦促和指导使得本书得以最终成型。特别是他耐心而友好地对待我一次次的拖稿,以及在我将稿件提交排版后,还继续对内容进行多次较大幅度更新和修改给予了支持。
最后,感谢我的父母,你们的关心和鼓励一直是我持续向前的动力;以及我的女友杨斌清,在我每天晚上挑灯写作时,包容和陪伴我,愿我们的辛勤付出能收获幸福的果实。我爱你们。
推荐语
云计算浪潮之中,CoreOS无疑是最受世人瞩目的主力军之一。纵观数十年科技史,技术的革新者永远引领着时代的发展。CoreOS则是Linux操作系统领域的探索者与革新者。
很高兴看到林帆老师这么快在国内布道CoreOS。《CoreOS实践之路》一书全部是最前沿实践工作的技术结晶,深入浅出地分析了CoreOS生态中每一类技术。无论是CoreOS的使用者还是开发者,都可以通过本书对CoreOS有更深入、更全面的了解。
——《Docker源码分析》作者 孙宏亮
作为容器时代的操作系统,CoreOS迅速以其轻巧、简单、易用的特点获得了开发者的青睐。林帆是国内CoreOS社区的早期参与者,在InfoQ上撰写了大量的原创文章来向社区普及CoreOS相关知识,不管是他的文章还是演讲,都深受读者喜欢。本书系统介绍了CoreOS的技术细节以及生态,将理论与案例相结合,内容丰富,值得一读。
——InfoQ主编 郭蕾
容器生态圈中的多个开源软件Kubernetes、Docker、Mesos等都已经被很多公司应用到生产环境中,而CoreOS却一直是雷声大雨点小,国内讨论、研究CoreOS的社区相对较少。本书是第一本CoreOS的中文书籍,作者林帆非常熟悉CoreOS圈子里的相关开源软件,在社区中做过很多布道,相信本书的出版一定会助力CoreOS在国内的发展。
——DockOne.io发起人 李颖杰
CoreOS为产品容器化提供了一整套的开源解决方案,它可以让你在公有云或物理机上快速构建属于自己的CaaS,使得部署、管理和升级大规模可动态伸缩的云计算资源变得轻松起来。本书从实战角度全面地分析了构成整个生态链的开源项目,包括Docker、Rkt、Kubernetes、Fleet、Etcd、Systemd和Flannel。这些开源项目使下一代基础设施的实现成为了可能,不仅解决了整个基础设施的生产力,而且改变了产品开发、测试、交付的模式。
——光音网络技术研发负责人 王鹏
我相信,用容器技术的人,翻到本书任意一章都能得到有价值的信息。这是一本清晰、准确、精心编写的书,力求让读者明白CoreOS操作系统区别于其他Linux操作系统的优势。实际上容器技术已热火朝天,选择一个安全运行容器的操作系统必不可少。作者是一个非常细腻的人,以渐进的方式一步步阐述了CoreOS的前身和来世,并实践了Flannel和Kubernetes等技术。本书是容器技术工程师必备读物。
——希云cSphere技术布道师 张春源
初识林帆是在国内首次的CoreOS Meetup上,Docker刚刚在国内火起来,CoreOS还未走入大多数人的视线。林帆的演讲题目是《Not yet perfect CoreOS》——细数了CoreOS在Systemd、Fleet、Etcd等方面的优缺点,那时就觉得这位同学好厉害,大多数人都不知道的东西,他都已经能指出不完美之处,并给出改进建议了。
后来就开始请林帆在CSDN写《漫步云端:CoreOS实践指南》系列,可能已经成为国内好多同学学习CoreOS的入门文章。最近得知林帆在写国内第一本CoreOS的书,马上读了预览稿。书中延续了林帆文章的一贯风格,力图对每个点深入浅出,理论结合实践,又不乏趣味性,内容也不仅限于CoreOS,值得每位容器技术爱好者阅读。
——灵雀云成员 前CSDN网站Docker版块编辑 周小璐