《企业级容器云架构开发指南》
云计算与虚拟化技术丛书
企业级容器云架构开发指南
闫健勇 龚 正 吴治辉
屈晓萌 王健飞 王 伟 编著
刘晓红
Foreword推 荐 序
近年来,数字体验与万物互联的融合开始触发连接用户的崭新方式,各种以技术为引擎的创新业务增长模式蜂拥出现,使得 IT不但支撑业务,而且深度融入到业务模式当中进行生产和创新。在这个差异化和定制化的时代,仅仅学习、拷贝业界先进技术已经不足以保障基本的生存空间,体系化创新成为基业长青的基石。学习必以致用为导向。企业应该致力于为客户提供精益而卓越的服务,做好客户的千里眼、顺风耳,让数字化生活触手可及。创新,当始终以此为愿景,引入适合企业自身的新技术,整合数字化企业核心系统,持续培养关键技术人才,进行精益企业思维与敏捷技术的转变。
在我所供职多年的企业里,云计算技术应用已经经历了从概念学习、力行实践,到使能创新的三个阶段。目前IT基础设施已经全面云化,企业级PaaS平台初具规模,基于平台模式构建的生态体系助力企业和合作伙伴的融合创新。在云化的进程中,容器云技术实践使企业的云化能力实现提速,云计算已经成为重要的使能者,让传统电信级业务的全面云化成为可能。
虚拟化将 IT基础设施从计划供给转换成了像自来水一样的按需供给,为 IT产业的精益生产落地提供了基础。微服务用传统中国分而治之的思想解决了现有大型系统大而重的问题,使敏捷和灵动变为可能。而 DevOps更是采用自动化一切方针,依托工具将原有 IT手工作坊跃升成了高可用的生产流水线。这三者的相辅相成,汇成了一个词:效率。降本增效,是所有 IT运营支撑的关键词。
在运营支撑系统经历了初创到壮大,到面临转型的时间点迎来了这本书和容器云课程,本书的作者都是十几年来始终活跃在一线的咨询和研发精英,他们拥有国际化视野,怀揣着对新技术的热爱,并致力于实施落地过程中的创新,将奋战在大型 IT系统多年的实践经验与理论结合,讲述了理想与现实,描绘了挫折与奋进。
刘 虹
中国移动通信集团公司业务支撑系统部副总经理
前 言Preface
美国国家标准与技术研究所(NIST)对云计算有如下定义:云计算是一种允许用户通过网络便捷地接入可动态配置的共享资源池(包括网络、存储、计算能力、应用以及业务),并以最小的管理成本实现对这些可配置计算资源的快速申请、使用和释放的技术架构和服务模式。作为新一代的技术架构和服务模式,云计算改变了很多行业的现状,大量企业可以像使用水电等资源一样来使用IT资源。云计算提高了IT系统的扩展性,许多企业现在愿意将云平台作为他们的IT基础设施,云计算模式正在成为标准,成为一场改变人们生活方式和企业经营方式的革命。
云计算从最初的概念出现到如今的应用普及,已有十余年的时间。相比云计算诞生初期的情况,目前的技术条件和行业环境已经发生了巨大的变化,云计算开始进入大规模应用阶段,显著改变着我们生活的各个方面,而产生当前效应的一个重要因素就是容器技术的大规模应用。
2013年年初,dotCloud公司将内部项目Docker开源,之后Docker这个名字迅速蔓延到整个信息产业。容器技术并不是全新的概念,Docker所采用的关键技术也早已存在,但正是由于Docker的出现,使得以容器技术来构建云计算平台变得更加方便和快捷。容器技术不仅改变了系统架构的设计方式,还改变了研发过程和系统运维的方式,使得我们一直期望的开发速度更快、系统质量更好、更易维护的IT系统变成现实。Docker的出现是云计算发展的重要里程碑,成为云应用大规模推广的基石。
本书由慧与大学组织,由慧与(中国)有限公司容器云项目组的人员完成,书籍内容的蓝本为慧与大学颇受学员欢迎的容器云系列课程的课件。参与本书编写的诸位作者常年活跃在技术一线,同时作为慧与大学的讲师和技术顾问,为大量客户提供了专业的培训服务,并且将他们在技术一线的经验传递给慧与大学的学员。慧与大学为了能够让更广泛的人员受益,组织了本书的编写。本书从技术实践者的角度出发,介绍了当前主流的Docker、Kubernetes、Mesos等容器和管理技术,同时对微服务架构设计与实现、DevOps开发与交付的方法和实践进行了介绍。书中既有对技术概念、流程和方法的介绍,也有对具体技术实现和案例场景的介绍,我们期望通过这样的内容设计,帮助读者在全视角了解云计算和容器技术的情况下,能将涉及的相关技术和方法直接应用到工作中,解决实际问题。
全书分为五个部分。第一部分(第1章)对云计算进行了概要性介绍,使读者建立对虚拟化、容器技术、公有云和私有云的基本概念。第二部分(第2章)对微服务架构的设计和实现进行了介绍。第三部分(第3章)关注研发生产力,介绍了DevOps的概念和实践。第四部分(第4~6章)对Docker、Kubernetes、Mesos分别进行了介绍。第五部分(第7章)介绍了企业级容器云在电信行业的应用实践,使读者对从容器技术到大规模容器集群管理架构,到不同分布式应用混合架构这一系列技术,再到企业级容器云的应用实践均能够有所了解。本书的五个部分既彼此独立,又相互关联,能够帮助读者建立起云计算和容器技术的完整技术储备。
本书适用于系统架构师、开发和测试人员、运维人员、企业IT主管、系统管理员,也适合作为高等院校计算机专业学习云及容器技术的教材。
凌云意气,有容乃大。在信息技术快速发展的今天,希望本书能为读者带来实际的收益。慧与大学愿意和读者一起积极投身到容器云产业的实践中,促进信息产业的蓬勃发展。
慧与大学
目 录Contents
推荐序
前言
第3章 DevOps实践 67
3.1 DevOps思想导入 67
3.1.1 什么是DevOps 67
3.1.2 DevOps核心理念 70
3.1.3 DevOps术语 72
3.2 DevOps实践框架 73
3.2.1 敏捷管理 77
3.2.2 持续交付 83
3.2.3 持续集成 83
3.2.4 持续测试(自动化测试) 87
3.2.5 持续部署 91
3.2.6 持续交付与容器化 93
3.2.7 DevOps实践框架总结 94
3.3 DevOps实践案例分享 96
3.3.1 DevOps导入 97
3.3.2 DevOps实施 98
第4章 Docker快速入门 104
4.1 Docker的价值及生态圈 105
4.1.1 Docker的价值 105
4.1.2 学习Docker需要多长时间 107
4.1.3 Docker是什么 111
4.1.4 Docker的口号 113
4.1.5 Docker正在成为当年的Java 113
4.1.6 Docker的部署环境要求 115
4.2 Docker相关术语及概述 116
4.2.1 Image 116
4.2.2 Docker Registry 118
4.2.3 Container 118
4.2.4 Volume 120
4.3 如何用Docker改造传统项目 121
4.3.1 哪些应用适合Docker化改造 121
4.3.2 Docker化改造传统应用的流程 122
4.3.3 Docker化改造案例 124
4.4 Docker高级进阶 126
4.4.1 容器基础之Cgroups 126
4.4.2 容器基础之Namespace 127
4.4.3 Docker的容器原理 127
4.4.4 Docker的分层镜像原理 128
4.4.5 Docker架构解析 129
第5章 Kubernetes 132
5.1 Kubernetes的背景与概述 133
5.1.1 谷歌保守了十几年的秘密武器——Borg系统 133
5.1.2 Kubernetes的起源 133
5.1.3 Kubernetes的核心特性 135
5.2 Kubernetes的总体系统架构和核心资源对象 139
5.2.1 Kubernetes的总体系统架构 139
5.2.2 Kubernetes的核心资源对象 141
5.3 Kubernetes的服务发现机制 147
5.3.1 集群内服务发现机制一:环境变量 147
5.3.2 集群内服务发现机制二:DNS服务 148
5.3.3 从集群外访问服务 150
5.3.4 集群内外客户端访问服务的数据流 151
5.4 一个完整Kubernetes的微服务案例 152
5.4.1 微服务系统架构 152
5.4.2 在Kubernetes上部署微服务 153
5.4.3 Kubernetes自动化管理微服务示例 157
5.5 Kubernetes的高级特性 161
5.5.1 Namespace资源隔离 161
5.5.2 容器应用的资源配额管理 162
5.5.3 ConfigMap:应用的统一配置管理 162
5.5.4 Job:批处理任务 163
5.6 总结 165
第6章 Mesos 166
6.1 Mesos的背景与概述 167
6.1.1 Mesos的产生背景 167
6.1.2 Mesos的特性 169
6.1.3 Mesos的发展历程 170
6.2 Mesos的架构与核心 172
6.2.1 Mesos的设计与架构 172
6.2.2 Mesos系统组件 175
6.2.3 Mesos的调度算法 179
6.2.4 Mesos的核心机制 185
6.2.5 Mesos的运维和管理 192
6.3 Mesos Framework 194
6.3.1 Mesos常用的Framework 194
6.3.2 Kubernetes与Mesos的集成 197
6.4 Mesos发展远景分析 199
6.4.1 Mesos的技术特点 199
6.4.2 DC/OS简介 202
第7章 企业级容器云在电信行业的应用实践 204
7.1 企业为什么要建设容器云PaaS平台 204
7.1.1 背景 204
7.1.2 试点系统选择 205
7.1.3 容器云PaaS平台技术选型 206
7.2 如何构建企业级的容器云PaaS平台 207
7.2.1 设计原则 207
7.2.2 容器云PaaS平台总体规划和建设路径 208
7.2.3 容器云PaaS平台总体技术架构 210
7.2.4 容器云PaaS平台采用的开源技术框架 211
7.2.5 基于微服务的容器化PaaS平台应用管理架构 212
7.2.6 结合DevOps实现“云开发+云运维”的流水线管理 213
7.2.7 容器云PaaS平台多集群管理方案 215
7.2.8 容器云PaaS平台建设中应关注的重点和难点 217
7.3 容器云PaaS平台的应用效果 230
7.3.1 集群规模 230
7.3.2 应用效果 231
7.3.3 未来发展 231
- 点赞
- 收藏
- 关注作者
评论(0)