(1)本书3位作者都有超10年的IT行业从业经验,是云计算和OpenShift领域的资深专家和布道者,有较大的行业影响力。
(2)本书是3位作者在云计算和数字化转型领域的工程经验总结。
(3)本书得到了IBM官方专家以及其他4位云计算和数字化转型领域的专家联袂推荐。
(4)深入剖析OpenShift架构设计、实现原理、集群的部署和运维,以及基于PaaS平台的数字化转型
(5)深度讲解基于OpenShift的云原生架构,为以微服务、DevOps、Service Mesh、Serverless和Spark为核心构建企业云原生技术平台提供详尽指导
全书共8章,每一章的内容都干货十足:
第1章介首先绍了云原生PaaS平台如何重塑云计算以及它在数字化转型中的作用,然后对OpenShift做了宏观的介绍。
第2章从源代码的角度对OpenShift的设计哲学、架构设计和核心功能模块的实现原理进行了深入剖析。
第3章从工程实践的角度详细讲解了OpenShift集群的部署、运维和管理。
第4章重点讲解了基于OpenShift平台的云原生应用自动构建与部署。
第5章介绍如何在OpenShift上实现云原生DevOps工具链。
第6章主要讲解了Service Mesh技术,以及基于Istio的微服务在OpenShift上的云原生实践。
第7章重点阐述了Serverless技术,以及基于Knative的无服务器应用在OpenShift上的云原生实践。
第8章主要讲解了以Spark为核心的数据科学应用及其在OpenShift上的云原生实践。
目 录 Contents
前言
第1章 PaaS赋能云原生时代数字化转型 1
1.1 PaaS重塑云计算时代 1
1.1.1 PaaS统一云计算架构 1
1.1.2 PaaS构建云计算未来 3
1.1.3 PaaS赋能微服务架构 6
1.1.4 PaaS加速DevOps实践 7
1.1.5 PaaS构筑云原生时代 9
1.2 PaaS赋能企业数字化转型 12
1.2.1 数字化转型的本质 12
1.2.2 PaaS赋能企业中台 13
1.2.3 PaaS助力数字化转型 15
1.3 企业级PaaS平台OpenShift介绍 17
1.3.1 OpenShift及其发展简史 17
1.3.2 OpenShift与云原生架构 18
1.3.3 OpenShift与Kubernetes 20
1.4 本章小结 22
第2章 OpenShift架构设计与原理 23
2.1 OpenShift总体架构 23
2.1.1 OpenShift设计哲学 23
2.1.2 OpenShift核心组件 29
2.1.3 OpenShift核心概念 31
2.1.4 OpenShift部署架构 46
2.2 OpenShift网络之SDN 47
2.2.1 OpenShift SDN网络配置 48
2.2.2 OpenShift Node节点上的SDN 49
2.2.3 OpenShift SDN网络隔离 54
2.2.4 OpenShift典型网络访问场景 55
2.3 OpenShift网络之路由器 62
2.3.1 从集群外访问OpenShift中的服务 62
2.3.2 OpenShift HAProxy路由器介绍 65
2.3.3 OpenShift路由规则介绍 67
2.3.4 OpenShift路由服务高可用 74
2.4 OpenShift网络之DNS 75
2.4.1 OpenShift Pod内部DNS配置 76
2.4.2 OpenShift Node节点DNS配置 77
2.4.3 OpenShift 集群内DNS查询流程 79
2.5 OpenShift存储 81
2.5.1 Docker卷 82
2.5.2 OpenShift存储卷 84
2.5.3 OpenShift 持久化卷 86
2.5.4 静态创建持久化卷 89
2.5.5 动态创建持久化卷 94
2.6 OpenShift权限控制 99
2.6.1 OpenShift权限概述 99
2.6.2 OpenShift权限认证 101
2.6.3 OpenShift基于角色的权限访问控制 107
2.6.4 OpenShift安全上下文约束 111
2.7 OpenShift服务目录 114
2.7.1 OpenShift服务目录概述 114
2.7.2 OpenShift服务目录概念理解 116
2.7.3 OpenShift服务目录使用介绍 117
2.8 本章小结 121
第3章 OpenShift集群部署与运维 123
3.1 OpenShift集群规划与部署准备 123
3.1.1 集群软件版本规划 124
3.1.2 集群规模与资源需求 125
3.1.3 集群高可用架构设计 127
3.1.4 集群主机环境需求 130
3.1.5 集群主机系统准备 133
3.2 OpenShift开发测试环境快速部署 137
3.2.1 OpenShift容器与二进制方式快速启动 137
3.2.2 OpenShift自定义脚本一键自动部署 139
3.2.3 OpenShift开发测试环境Minishift 141
3.3 OpenShift集群生产环境自动部署 144
3.3.1 OpenShift集群部署介绍 144
3.3.2 OpenShift集群自动部署配置 147
3.3.3 OpenShift集群在线自动部署 151
3.3.4 OpenShift集群离线自动部署 154
3.4 OpenShift集群运维与管理 160
3.4.1 OpenShift集群扩容 160
3.4.2 OpenShift集群升级 162
3.4.3 OpenShift集群备份 167
3.4.4 OpenShift集群恢复 172
3.5 本章小结 176
第4章 OpenShift云原生应用构建与部署 177
4.1 OpenShift应用构建与部署概述 177
4.1.1 OpenShift应用构建介绍 177
4.1.2 OpenShift镜像流介绍 179
4.1.3 OpenShift应用部署介绍 180
4.2 OpenShift应用构建 180
4.2.1 BuildConfig资源对象 181
4.2.2 Docker构建 199
4.2.3 源代码构建 205
4.2.4 jenkinsPipeline构建 212
4.3 OpenShift应用部署 216
4.3.1 DeploymentConfig资源对象 216
4.3.2 Rolling与Recreate部署 220
4.4 OpenShift资源模板 224
4.4.1 OpenShift资源模板介绍 225
4.4.2 OpenShift资源模板制作与应用实践 228
4.5 本章小结 232
第5章 OpenShift云原生DevOps构建 233
5.1 DevOps发展简介 233
5.1.1 DevOps发展背景介绍 233
5.1.2 DevOps流水线介绍 237
5.2 Jenkins持续集成 239
5.2.1 OpenShift云原生部署Jenkins 240
5.2.2 Jenkins OpenShift插件应用介绍 242
5.3 GitLab代码仓库 246
5.3.1 OpenShift云原生部署GitLab 247
5.3.2 Jenkins与GitLab在OpenShift上的集成 250
5.4 SonarQube代码扫描 255
5.4.1 OpenShift云原生部署SonarQube 256
5.4.2 Jenkins与SonarQube在OpenShift上的集成 261
5.5 Nexus制品库 268
5.5.1 OpenShift云原生部署Nexus 268
5.5.2 Jenkins与Nexus在OpenShift上的集成 270
5.6 构建JeeSite应用DevOps流水线实战 273
5.7 本章小结 284
第6章 Service Mesh及其在OpenShift上的实践 285
6.1 传统微服务架构 285
6.1.1 微服务与SOA 286
6.1.2 Spring Cloud框架 287
6.1.3 Dubbo框架 289
6.1.4 微服务现状分析 290
6.2 云原生微服务架构 292
6.2.1 Service Mesh 292
6.2.2 Linkerd 294
6.2.3 Enovy 296
6.2.4 Istio 299
6.2.5 Docker、Kubernetes与Istio 302
6.3 Istio在OpenShift上的实现 304
6.3.1 OpenShift集群快速部署与实现 304
6.3.2 OpenShift上部署Istio集群 305
6.3.3 OpenShift上部署Istio微服务 310
6.4 基于OpenShift的Istio功能验证与测试 314
6.4.1 微服务监控与跟踪 314
6.4.2 微服务流量控制 320
6.4.3 微服务故障注入 328
6.4.4 微服务请求熔断 332
6.4.5 微服务Egress路由 338
6.4.6 微服务可视化 340
6.5 本章小结 345
第7章 Serverless及其在OpenShift上的实践 346
7.1 软件架构演变历史 346
7.1.1 单体架构 346
7.1.2 SOA架构 347
7.1.3 微服务架构 348
7.1.4 Serverless架构 349
7.2 深入认识Serverless架构 350
7.2.1 Serverless与云原生 350
7.2.2 Serverless与微服务 352
7.2.3 Serverless与PaaS 353
7.2.4 Serverless与FaaS 354
7.3 Serverless发展现状 355
7.3.1 AWS Lambda 355
7.3.2 OpenWhisk 357
7.3.3 OpenFaaS 361
7.3.4 Kubeless 362
7.3.5 Serverless现状分析 363
7.4 Serverless统一平台Knative 364
7.4.1 构建系统Build 366
7.4.2 服务系统Serving 368
7.4.3 事件系统Eventing 373
7.5 基于OpenShift的Knative实现 378
7.5.1 部署OpenShift 378
7.5.2 部署Istio 380
7.5.3 部署Knative Serving 380
7.5.4 部署Serverless应用 382
7.6 Knative应用验证与测试 384
7.6.1 事件驱动 384
7.6.2 自动伸缩 386
7.7 本章小结 395
第8章 Spark数据科学及其在OpenShift上的实践 396
OpenShift是当前PaaS容器平台和云原生领域炙手可热的技术,也是IBM收购红帽后重点打造的产品和方向。金孝是资深云计算专家和架构师,一直活跃在技术前沿,用自己的行业经验和技术热情在做新技术的布道。本书是他的倾力之作,值得阅读。
——徐伟乔 IBM区域服务总经理
本书详细介绍了OpenShift的落地实践,不仅包括OpenShift自身的架构、部署、运维等内容,还包括基于OpenShift的DevOps、Service Mesh、Serverless、容器化Spark等云原生前沿技术的实践细节。
——王璞 数人云创始人
云计算发展至今,PaaS平台已衍生出更广和更深层次的内涵,是接下来十年云计算发展的重要方向,也是企业平台化的技术底座。作为云原生 PaaS 的杰出代表,相比原生的 Kubernetes项目,OpenShift具有更强大的集成创新能力和企业级功能特性,是云计算发展至深水区后全栈融合云的集大成者。本书既有理论高度又有翔实的实践,是不可多得的匠心之作!
——孙杰 北京中油瑞飞信息技术有限公司技术总监
OpenShift目前是红帽公司增长最快的业务,正在汇集成大河,一路奔向大海,势不可挡。这本书既有对技术潮流的把握,也有对技术细节的总结,是学习OpenShift的必读书籍。
——肖力 云技术社区创始人/新钛云服技术VP
本书分析了云计算技术带来的技术进化,鞭辟入里地解释了IT基础设施的更新、迭代和演进过程,描述了IT 基础设施从物理机、虚拟化、容器、云计算直至Serverless的发展历程,以及相应的企业应用架构从单体、分层、SOA到微服务,再到未来函数计算的演变。
——楼炜 资深云计算专家/架构师