企业级容器云架构开发指南
内容介绍
全书分为五大部分。第一部分(第1章)对云计算进行了概要性介绍,使读者建立起对虚拟化、容器技术、公有云和私有云的基本概念;第二部分(第2章)对微服务架构的设计和实现进行了介绍;第三部分(第3章)关注研发生产力,介绍了DevOps的概念和实践;第四部分(第4章、第5章、第6章)对Docker、Kubernetes、Mesos分别进行了介绍;第五部分(第7章)介绍了企业级容器云在电信行业的应用实践,使读者能够从容器技术,到大规模容器集群管理架构,到不同分布式应用混合架构的一系列技术,再到企业级容器云的应用实践均能够有所了解。 本书的五个部分既彼此独立,又相互关联,帮助读者建立起云计算和容器技术的完整技术储备。
目录
- 推荐序
- 前言
- 第1章 云计算概述 1
- 1.1 虚拟化技术简史 1
- 1.1.1 虚拟化技术的起源 1
- 1.1.2 X86平台虚拟化历史 3
- 1.1.3 三大虚拟化产品 5
- 1.1.4 私有云与公有云 7
- 1.2 虚拟化热点技术与终极目标 8
- 1.2.1 网络虚拟化 8
- 1.2.2 存储虚拟化 11
- 1.2.3 虚拟化的终极目标 13
- 1.3 脱颖而出的容器技术 14
- 1.3.1 容器技术的历史 14
- 1.3.2 dotCloud发现了“金矿” 15
- 1.3.3 容器技术带来的变革 17
- 1.4 重新流行的PaaS 18
- 1.4.1 PaaS平台发展史 18
- 1.4.2 老牌的Cloud Foundry 22
- 1.4.3 Kubernetes & Mesos新秀 23
- 第2章 微服务 27
- 2.1 为何要做微服务 27
- 2.1.1 架构设计新理念:做好隔离 27
- 2.1.2 如何利用扩展立方体切分应用和数据 30
- 2.1.3 时间考虑和融会贯通 32
- 2.2 微服务概要介绍 33
- 2.2.1 微服务架构原理 33
- 2.2.2 微服务的特性 38
- 2.2.3 完整微服务系统包含的功能 47
- 2.3 微服务的高级进阶 49
- 2.3.1 得API者得天下 49
- 2.3.2 微服务的进程间通信 52
- 2.3.3 服务发现 54
- 2.3.4 微服务事件驱动管理 56
- 2.3.5 微服务部署模式 60
- 2.4 如何从单体架构迁移到微服务 62
- 第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