描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787121275098
√ 本书是国内仅有的讲解CoreOS的技术图书,覆盖全面,内容系统,实战性强
√ 作者林帆是Thoughtworks资深工程师,也是国内首要CoreOS的布道者与实践者
√ 定位于容器技术,同时覆盖了Docker及CoreOS与其他容器技术的组合应用
在通读了这些内容后,相信读者会对CoreOS系统有一个比较全面的认识。
1.1 CoreOS简介
1.1.1 CoreOS是什么
1.1.2 CoreOS的诞生和发展
1.1.3 CoreOS的用户体验
1.1.4 CoreOS的适应场景
1.2 CoreOS核心组件
1.3 架设CoreOS集群
1.3.1 CoreOS支持的平台
1.3.2 部署CoreOS集群
1.4 CoreOS的操作系统衍生
1.5 小结
第2章 使用CoreOS中的容器
2.1 应用容器入门
2.1.1 什么是应用容器
2.1.2 应用容器技术的发展
2.1.3 命名空间(Namespace)
2.1.4 控制组(CGroup)
2.1.5 容器的应用场景
2.2 使用Docker容器
2.2.1 Docker容器工具概述
2.2.2 Docker命令行的基本使用
2.2.3 数据共享与备份
2.2.4 多容器通信
2.2.5 Dock
2.3 Docker镜像制作
2.3.1 Docker镜像
2.3.2 从容器构建镜像
2.3.3 Dock
2.3.4 镜像仓库
2.4 Rkt容器
2.4.1 Rkt简介
2.4.2 使用Rkt容器
2.4.3 镜像管理
2.4.4 Rkt容器的生命周期
2.4.5 其他命令
2.5 Rkt的容器镜像
2.5.1 AppC Spec规范
2.5.2 Aci镜像工具
2.5.3 Aci镜像签名
2.5.4 Aci镜像定义文件
2.5.5 镜像分发
2.6 小结
第3章 Systemd节点资源管理
3.1 Systemd的服务管理模型
3.1.1 Systemd概述
3.1.2 Systemd的设计理念
3.1.3 Systemd的服务管理
3.1.4 日志管理
3.1.5 服务的生命周期
3.1.6 服务的Unit文件
3.1.7 Unit文件占位符
3.1.8 Unit模板
3.2 Systemd的系统资源管理
3.2.1 Systemd的Unit文件
3.2.2 定时器
3.2.3 路径监控器
3.2.4 数据监控器
3.2.5 挂载文件系统
3.2.6 自动挂载文件系统
3.2.7 交换分区(虚拟内存)
3.3 Systemd工具集
3.3.1 Systemd系列工具概述
3.3.2 主机名、时间、地区信息管理
3.3.3 电源管理
3.3.4 启动时间和运行状态分析
3.3.5 辅助性命令工具
3.3.6 Systemd容器
3.4 小结
第4章 Fleet跨节点服务调度
4.1 Fleet简介
4.1.1 Systemd服务管理的局限性
4.1.2 Fleet的服务调度
4.2 Fleet的基本操作
4.2.1 获取集群信息
4.2.2 显示集群服务
4.2.3 节点跳转
4.2.4 跨节点执行命令
4.3 通过Unit文件运行跨节点调度的服务
4.3.1 Fleet的Unit文件
4.3.2 在集群上运行服务
4.3.3 Fleet的X-Fleet段
4.3.4 模板参数
4.4 集群中的服务生命周期
4.4.1 提交服务
4.4.2 加载服务
4.4.3 启动服务
4.4.4 停止服务
4.4.5 服务自动启动
4.4.6 服务状态和日志
4.5 服务热迁移
4.6 小结
第5章 Etcd分布式配置共享
5.1 基于Etcd的配置共享和集群组建
5.1.1 Etcd概述
5.1.2 Etcd集群的构建
5.1.3 Etcd的操作
5.1.4 Etcd集群的成员管理
5.1.5 重大故障的恢复
5.2 Etcd的应用程序接口
5.2.1 概述
5.2.2 Etcd数据操作
5.2.3 成员管理
5.2.4 集群的统计信息
5.2.5 隐藏数据节点
5.3 小结
第6章 CoreOS综合案例
6.1 案例一:分布式服务的监控
6.1.1 案例说明
6.1.2 方案实施
6.1.3 案例延伸
6.1.4 案例总结
6.2 案例二:应用层负载均衡
6.2.1 案例说明
6.2.2 方案实施
6.2.3 案例延伸
6.2.4 案例总结
6.3 小结
第7章 深入CoreOS的特性与集群架构
7.1 CoreOS的系统启动配置
7.1.1 用户数据文件
7.1.2 编写用户数据文件
7.1.3 验证和修改用户数据文件
7.2 CoreOS系统升级
7.2.1 具有CoreOS特色的系统升级
7.2.2 升级参数配置
7.2.3 执行系统升级
7.2.4 更好的升级策略
7.2.5 升级的回滚
7.3 CoreOS的集群架构
7.3.1 单节点架构
7.3.2 小型集群
7.3.3 开发/测试环境集群
7.3.4 产品环境集群
7.4 小结
第8章 Kubernetes集群管理
8.1 Flannel网络规划
8.1.1 Flannel简介
8.1.2 Flannel的安装和使用
8.1.3 Flannel的配置
8.2 架设Kubernetes集群管理系统
8.2.1 Kubernetes简介
8.2.2 Kubernetes的组成
8.2.3 部署Kubernetes集群管理系统
8.2.4 Kubernetes的基本操作
8.3 Kubernetes的插件机制
8.3.1 Kubernetes的内置插件
8.3.2 SkyDNS插件
8.3.3 KubeUI插件
8.4 Kubernetes应用案例
8.4.1 案例一:留言板应用
8.4.2 案例二:在线更新应用
8.5 小结
第9章 CoreOS小技巧
9.1 CoreOS使用技巧
9.1.1 扩展系统命令
9.1.2 运行有界面的软件
9.1.3 容器的默认语言和时区
9.1.4 JSON格式化
9.1.5 在CoreOS中安装tmux和s
9.1.6 修改core用户的.bashrc文件
9.1.7 自定义SSH端口和配置
9.1.8 运行其他CoreOS中无法安装的软件
9.2 CoreOS周边工具
9.2.1 使用Sysdig检测容器的系统资源状态
9.2.2 使用Calico实现容器级防火墙
9.3 小结
序
CoreOS是一个非常年轻而且充满想象力的项目。 CoreOS专注于集群操作系统的定制、更新以及维护等,实现了自动将集群内的操作系统、基础软件包持续更新至**稳定版本,并缩小更新系统所需时间到分钟以内的级别。
自2014年登陆中国以来,CoreOS在国内掀起了不少风波。CoreOS的AppC项目制定Application Container标准部署规范,在容器部署规范上迈出了一大步; Etcd逐渐也被大多数云产品引入作为在配置管理、服务发现方面取代Zookeeper的不二选择。总之,CoreOS作为一个整体的集群操作系统,可以极大的解放App部署、弹性调度以及服务发现的复杂实施工作,开启了微服务新世界的大门,从研发流程和运维方式上面都产生了极大的改变。
但是国内一直缺少坚持在这方面潜心研究、并将其推广到生产环境的团队和气氛,一方面在于CoreOS本身的复杂性和超前的技术路线;另一方面,国内的CaaS云计算市场,特别是编排和部署更新方面,都处于刚兴起阶段。但是作者**算一个在CoreOS领域保持坚持不懈,努力钻研的勇士。认识作者是在CoreOS**个国内Meetup。当时本身也怀着对CoreOS的万分崇拜,跑了将近半个北京城去参加。作者当时大胆的提出了CoreOS不少的痛点,让我影响颇深,我也是从这个时候开始,不间断的跟作者保持在CoreOS方面技术的探讨和学习。随后作者发表了一系列关于CoreOS的文章:《漫步云端:CoreOS实践指南》,是国内学习CoreOS的资料。
本书也是作者积累了2年多学习和实践经验的总结和沉淀。本书以CoreOS为基础,详细的介绍了CoreOS基础组件Fleet、Systemd、Etcd、Flannel、Rkt、Cloudinit等的配置以及对应的使用方式。理论离不开实践,特别是集群化的分布式系统,实践部分更加具有挑战性,因此作者在每一章都备有详细的实践,以引导各位读者更加深层次的掌握和领悟CoreOS,然后通过一个综合案例,再次让大家得以融汇贯通。不仅如此,作者在*后详细介绍了CoreOS生态圈的发展,重点介绍了开源版本的Borg:Kubernetets,如同主菜之后的一道美味甜点,读了之后收益颇丰。
如果你是一个刚接触云计算,特别是CaaS(Container as a Service)的朋友,这本书可以帮助你迅速掌握目前业界*火的几款系统的使用;
如果你是一个耕耘于云计算的朋友,你可以通过本书更深的了解CoreOS的前生,现在,以及未来,开阔自己的视野!
段兵 百度资深工程师
2015年11月2日于北京
前 言
关于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版本,从新特性变化的频率来看,目前这些技术都已经进入相对稳定的阶段,其内容会在未来较长时间内适用。
致谢
本书的出版,首先要感谢鼓励我发表《CoreOS实践指南》系列文章的前CSDN编辑周小璐女士,她是我在技术写作路上的一位伯乐,没有她的帮助,我肯定无法完成这个原本只是写在自己默默无闻的博客上的技术分享。
其次,非常感谢电子工业出版社的张春雨先生。在本书写作的近10个月时间里,张先生的敦促和指导使得本书得以*终成型。特别是他耐心而友好地对待我一次次的拖稿,以及在我将稿件提交排版后,还继续对内容进行多次较大幅度更新和修改给予了支持。
*后,感谢我的父母,你们的关心和鼓励一直是我持续向前的动力;以及我的女友杨斌清,在我每天晚上挑灯写作时,包容和陪伴我,愿我们的辛勤付出能收获幸福的果实。我爱你们。
很高兴看到林帆老师这么快在国内布道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版块编辑 周小璐
评论
还没有评论。