书籍详情
OpenShift在企业中的实践:PaaS DevOps 微服务 第2版
作者:魏新宇,郭跃军 著
出版社:机械工业出版社
出版时间:2021-10-01
ISBN:9787111691051
定价:¥139.00
购买这本书可以去
内容简介
本书以红帽OpenShift v4为核心编写,从客户的数字化转型入手,介绍如何通过OpenShift构建PaaS平台、实现DevOps、云原生、微服务,共分为四大部分: PaaS能力建设。即本书的“PaaS五部曲”,包含第2~6章的内容,分别是OpenShift技术解密及架构设计、基于OpenShift构建企业级PaaS平台、OpenShift在企业中的开发实践、OpenShift在企业中的运维实践、OpenShift在公有云上的实践。 DevOps能力建设。即本书的“DevOps两部曲”,包含第7~8章的内容,分别是在OpenShift上实现DevOps、DevOps在企业中的实践。 云原生能力建设。即本书的第9章,介绍如何为单体应用提速以及云原生开发和运行环境的选择。 微服务能力建设。即本书的第10章,包括微服务介绍及Spring Cloud在OpenShift上的落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。
作者简介
魏新宇 红帽副首席解决方案架构师。在IaaS、PaaS方面有丰富的经验,致力于开源解决方案在企业中的推广和应用。从售前角度主导了红帽在金融、汽车行业的多个PaaS项目。曾就职于华为、IBM、VMware。工作涉及领域硬件、AIX/Linux、虚拟化、PaaS、DevOps、微服务等。获得红帽RHCA Level 5认证、RHCE认证。获得ITIL V3、Cobit5、TOGAF、C-STAR/TOGAF(鉴定级)相关认证。通过“大魏分享(david-share)”微信公众号,分享了很多项目实践中的经验。郭跃军 目前就职于VMware,担任Solutions Engineer。曾于红帽担任PaaS咨询顾问、AWS顾问服务团队担任云架构咨询顾问,熟悉私有云和公有云生态。从2015年接触容器技术开始,一直奋战在PaaS建设一线,参与了很多OpenShift项目的竞标、PoC、咨询和落地实施,帮助很多企业实现了数字化转型。经过多年的技术积累和项目历练,在PaaS建设运维、DevOps咨询落地以及微服务改造迁移等方面有丰富的经验,并一直保持对开源技术、云原生技术进行深入研究的热情。
目录
赞誉
推荐序
再版前言
致谢
作者介绍
第1章 通过OpenShift实现企业的数字化转型1
1.1 企业进行数字化转型的必要性1
1.2 企业数字化转型之PaaS2
1.3 企业数字化转型之DevOps3
1.3.1 从瀑布式开发到敏捷开发3
1.3.2 从敏捷开发到DevOps4
1.3.3 洛克希德·马丁公司实施DevOps的收益5
1.4 企业数字化转型之微服务6
1.4.1 微服务架构简介6
1.4.2 微服务架构的主要类型7
1.4.3 企业实施微服务架构的收益和原则7
1.5 PaaS、DevOps与微服务的关系8
1.6 企业数字化转型的实现8
1.6.1 什么是云原生应用8
1.6.2 企业数字化转型之路9
1.7 本章小结11
第2章 OpenShift技术解密及架构设计12
2.1 OpenShift与Kubernetes的关系12
2.1.1 容器发展史12
2.1.2 OpenShift发展简史14
2.1.3 OpenShift对Kubernetes的增强14
2.1.4 OpenShift对Kubernetes生态的延伸17
2.2 OpenShift的架构介绍与规划20
2.2.1 OpenShift的逻辑架构20
2.2.2 OpenShift的技术架构21
2.2.3 OpenShift的部署架构规划54
2.3 本章小结107
第3章 基于OpenShift构建企业级PaaS平台108
3.1 OpenShift部署架构参考108
3.2 OpenShift部署与建设要点110
3.2.1 OpenShift部署方式与过程说明110
3.2.2 配置OpenShift离线镜像116
3.2.3 OpenShift离线部署示例122
3.2.4 OpenShift部署后的配置133
3.3 OpenShift的Worker节点扩容158
3.4 OpenShift集群的升级161
3.4.1 OpenShift的升级策略161
3.4.2 OpenShift的在线升级162
3.4.3 OpenShift的离线升级163
3.5 本章小结165
第4章 OpenShift在企业中的开发实践166
4.1 开发人员的关注点166
4.2 应用向OpenShift容器化迁移的方法167
4.2.1 OpenShift应用准入条件167
4.2.2 应用容器化迁移流程167
4.2.3 应用容器化方法168
4.2.4 制作容器镜像的最佳实践169
4.2.5 本地构建实现应用容器化174
4.2.6 S2I实现应用容器化179
4.3 OpenShift上应用部署实践195
4.3.1 OpenShift上多种应用部署方式对比195
4.3.2 Deployments与Deployment Config的对比199
4.3.3 自定义指标实现水平扩容200
4.4 OpenShift上部署有状态应用201
4.4.1 StatefulSet简介202
4.4.2 OpenShift部署有状态应用实践203
4.4.3 在OpenShift上统一管理虚拟机207
4.5 从零开发Operator209
4.5.1 开发Operator的要点209
4.5.2 开发一个Ansible Operator210
4.6 本章小结217
第5章 OpenShift在企业中的运维实践218
5.1 运维人员的关注点218
5.2 OpenShift运维指导218
5.3 RHCOS的架构与运维实践219
5.3.1 RHCOS修改配置的几种方法219
5.3.2 Day1配置展示:通过指定Ignition配置来设定RHCOS的配置220
5.3.3 Day2配置展示:通过MachineConfig方式修改RHCOS的配置221
5.4 OpenShift修改配置后的自动重启224
5.5 OpenShift中的证书225
5.6 OpenShift运维技巧简介228
5.7 OpenShift多网络平面的选择与配置232
5.7.1 Macvlan静态IP地址配置方法232
5.7.2 Macvlan动态分配IP地址配置方法236
5.8 OpenShift中Pod的限速238
5.9 OpenShift中项目无法被删除问题239
5.10 OpenShift集群性能优化241
5.11 OpenShift安全实践245
5.11.1 主机安全246
5.11.2 OpenShift平台安全246
5.11.3 镜像安全248
5.11.4 容器运行安全248
5.12 OpenShift监控系统与改造249
5.12.1 原生Prometheus监控249
5.12.2 OpenShift原生监控系统250
5.12.3 OpenShift原生监控系统的改造256
5.12.4 监控系统的集成260
5.13 OpenShift日志系统与改造263
5.13.1 OpenShift原生EFK介绍263
5.13.2 日志系统改造265
5.13.3 应用非标准输出日志采集276
5.14 OpenShift备份恢复与容灾280
5.14.1 备份容灾概述280
5.14.2 OpenShift备份280
5.14.3 容灾设计287
5.15 OpenShift的多集群管理289
5.16 本章小结291
第6章 OpenShift在公有云上的实践292
6.1 OpenShift在公有云和私有云上的区别292
6.2 OpenShift在公有云上的架构模型294
6.2.1 单个PaaS共享架构模型294
6.2.2 公有云服务自维护架构模型296
6.2.3 控制节点托管架构模型297
6.2.4 公有云租户独享PaaS架构模型298
6.3 OpenShift在公有云上的部署方式299
6.4 OpenShift在AWS上的实践299
6.4.1 AWS服务简介300
6.4.2 OpenShift在AWS上的实践301
6.5 OpenShift与IaaS的集成322
6.6 OpenShift实现混合云架构324
6.7 本章小结326
第7章 在OpenShift上实现DevOps327
7.1 DevOps的适用场景327
7.2 DevOps的实现路径328
7.2.1 组织与角色329
7.2.2 平台与工具330
7.2.3 流程与规范332
7.2.4 文化与持续改进334
7.2.5 总结334
7.3 基于OpenShift实现CI/CD的几种方式335
7.3.1 使用自定义的S2I模板340
7.3.2 自定义模板实现Binary部署343
7.3.3 在源码外构建Pipeline349
7.3.4 在源码内构建Pipeline352
7.3.5 Tekton实现云原生构建354
7.4 在OpenShift上实现持续交付361
7.4.1 OpenShift上的持续交付工具
介绍362
7.4.2 基于Jenkins实现持续交付372
7.4.3 基于Tekton实现持续交付383
7.5 本章小结389
第8章 DevOps在企业中的实践390
8.1 成功实践DevOps的关键要素390
8.1.1 定义全景视图和目标390
8.1.2 标准化的流程和组织391
8.1.3 建立DevOps基石:自动化391
8.1.4 协同工作的文化392
8.2 某大型客户DevOps案例分析392
8.2.1 客户现状及项目背景392
8.2.2 DevOps落地实践393
8.2.3 实践收益469
8.3 本章小结470
第9章 基于OpenShift构建云原生471
9.1 什么是云原生应用471
9.2 轻量级应用服务器的选择472
9.2.1 轻量级的应用服务器472
9.2.2 如何将应用迁移到轻量级应用服务器473
9.3 云原生的应用开发框架:Quarkus475
9.3.1 传统Java的困境475
9.3.2 GraalVM的兴起476
9.3.3 云原生Java:Quarkus477
9.3.4 编译和部署一个Quarkus应用479
9.3.5 Quarkus的热加载484
9.3.6 在OpenShift中部署Quarkus应用程序486
9.3.7 为Quarkus应用添加Rest Client扩展490
9.3.8 Quarkus应用的容错能力494
9.3.9 Quarks的事务管理 497
9.3.10 Spring Boot应用向Quarkus的迁移498
9.4 云原生分布式集成:Camel-K 499
9.5 云原生的捕获数据更改:Debezium 503
9.5.1 Debezium项目介绍503
9.5.2 Debezium的功能展示504
9.6 云原生的业务流程自动化:Kogito509
9.7 云原生Serverless:Knative515
9.7.1 Knative简介515
9.7.2 OpenShift Serverless516
9.7.3 OpenShift Serverless的安装518
9.7.4 OpenShift Serverless的蓝绿发布520
9.7.5 OpenShift Serverless的事件触发524
9.8 本章小结526
第10章 微服务在OpenShift上的落地527
10.1 微服务介绍527
10.1.1 微服务的特点与优势527
10.1.2 微服务架构528
10.1.3 企业对微服务治理的需求529
10.2 Spring Cloud在OpenShift上的落地530
10.2.1 Spring Cloud在OpenShift上的实现与原生实现的不同530
10.2.2 Spring Cloud在OpenShift上的实现536
10.3 Istio在OpenShift上的落地551
10.3.1 Istio介绍551
10.3.2 Sidecar的注入553
10.3.3 OpenShift Service Mesh介绍556
10.4 Istio的基本功能562
10.4.1 Istio路由基本概念562
10.4.2 基于目标端的灰度/蓝绿发布566
10.4.3 微服务的灰度上线569
10.4.4 微服务的熔断572
10.4.5 微服务的黑名单574
10.5 对OpenShift上Istio的重要说明577
10.5.1 OpenShift上Istio入口访问方式的选择577
10.5.2 OpenShift Router和Istio Ingessgateway的联系与区别585
10.5.3 Istio配置生效的方式和选择586
10.6 企业应用向Istio迁移588
10.6.1 使用本地构建方式将应用迁移到Istio的步骤588
10.6.2 三层微服务向Istio中迁移展示590
10.7 Istio生产使用建议595
10.7.1 Istio的性能指标596
10.7.2 Istio的运维建议597
10.8 基于OpenShift实现的微服务总结599
10.9 本章小结601
推荐序
再版前言
致谢
作者介绍
第1章 通过OpenShift实现企业的数字化转型1
1.1 企业进行数字化转型的必要性1
1.2 企业数字化转型之PaaS2
1.3 企业数字化转型之DevOps3
1.3.1 从瀑布式开发到敏捷开发3
1.3.2 从敏捷开发到DevOps4
1.3.3 洛克希德·马丁公司实施DevOps的收益5
1.4 企业数字化转型之微服务6
1.4.1 微服务架构简介6
1.4.2 微服务架构的主要类型7
1.4.3 企业实施微服务架构的收益和原则7
1.5 PaaS、DevOps与微服务的关系8
1.6 企业数字化转型的实现8
1.6.1 什么是云原生应用8
1.6.2 企业数字化转型之路9
1.7 本章小结11
第2章 OpenShift技术解密及架构设计12
2.1 OpenShift与Kubernetes的关系12
2.1.1 容器发展史12
2.1.2 OpenShift发展简史14
2.1.3 OpenShift对Kubernetes的增强14
2.1.4 OpenShift对Kubernetes生态的延伸17
2.2 OpenShift的架构介绍与规划20
2.2.1 OpenShift的逻辑架构20
2.2.2 OpenShift的技术架构21
2.2.3 OpenShift的部署架构规划54
2.3 本章小结107
第3章 基于OpenShift构建企业级PaaS平台108
3.1 OpenShift部署架构参考108
3.2 OpenShift部署与建设要点110
3.2.1 OpenShift部署方式与过程说明110
3.2.2 配置OpenShift离线镜像116
3.2.3 OpenShift离线部署示例122
3.2.4 OpenShift部署后的配置133
3.3 OpenShift的Worker节点扩容158
3.4 OpenShift集群的升级161
3.4.1 OpenShift的升级策略161
3.4.2 OpenShift的在线升级162
3.4.3 OpenShift的离线升级163
3.5 本章小结165
第4章 OpenShift在企业中的开发实践166
4.1 开发人员的关注点166
4.2 应用向OpenShift容器化迁移的方法167
4.2.1 OpenShift应用准入条件167
4.2.2 应用容器化迁移流程167
4.2.3 应用容器化方法168
4.2.4 制作容器镜像的最佳实践169
4.2.5 本地构建实现应用容器化174
4.2.6 S2I实现应用容器化179
4.3 OpenShift上应用部署实践195
4.3.1 OpenShift上多种应用部署方式对比195
4.3.2 Deployments与Deployment Config的对比199
4.3.3 自定义指标实现水平扩容200
4.4 OpenShift上部署有状态应用201
4.4.1 StatefulSet简介202
4.4.2 OpenShift部署有状态应用实践203
4.4.3 在OpenShift上统一管理虚拟机207
4.5 从零开发Operator209
4.5.1 开发Operator的要点209
4.5.2 开发一个Ansible Operator210
4.6 本章小结217
第5章 OpenShift在企业中的运维实践218
5.1 运维人员的关注点218
5.2 OpenShift运维指导218
5.3 RHCOS的架构与运维实践219
5.3.1 RHCOS修改配置的几种方法219
5.3.2 Day1配置展示:通过指定Ignition配置来设定RHCOS的配置220
5.3.3 Day2配置展示:通过MachineConfig方式修改RHCOS的配置221
5.4 OpenShift修改配置后的自动重启224
5.5 OpenShift中的证书225
5.6 OpenShift运维技巧简介228
5.7 OpenShift多网络平面的选择与配置232
5.7.1 Macvlan静态IP地址配置方法232
5.7.2 Macvlan动态分配IP地址配置方法236
5.8 OpenShift中Pod的限速238
5.9 OpenShift中项目无法被删除问题239
5.10 OpenShift集群性能优化241
5.11 OpenShift安全实践245
5.11.1 主机安全246
5.11.2 OpenShift平台安全246
5.11.3 镜像安全248
5.11.4 容器运行安全248
5.12 OpenShift监控系统与改造249
5.12.1 原生Prometheus监控249
5.12.2 OpenShift原生监控系统250
5.12.3 OpenShift原生监控系统的改造256
5.12.4 监控系统的集成260
5.13 OpenShift日志系统与改造263
5.13.1 OpenShift原生EFK介绍263
5.13.2 日志系统改造265
5.13.3 应用非标准输出日志采集276
5.14 OpenShift备份恢复与容灾280
5.14.1 备份容灾概述280
5.14.2 OpenShift备份280
5.14.3 容灾设计287
5.15 OpenShift的多集群管理289
5.16 本章小结291
第6章 OpenShift在公有云上的实践292
6.1 OpenShift在公有云和私有云上的区别292
6.2 OpenShift在公有云上的架构模型294
6.2.1 单个PaaS共享架构模型294
6.2.2 公有云服务自维护架构模型296
6.2.3 控制节点托管架构模型297
6.2.4 公有云租户独享PaaS架构模型298
6.3 OpenShift在公有云上的部署方式299
6.4 OpenShift在AWS上的实践299
6.4.1 AWS服务简介300
6.4.2 OpenShift在AWS上的实践301
6.5 OpenShift与IaaS的集成322
6.6 OpenShift实现混合云架构324
6.7 本章小结326
第7章 在OpenShift上实现DevOps327
7.1 DevOps的适用场景327
7.2 DevOps的实现路径328
7.2.1 组织与角色329
7.2.2 平台与工具330
7.2.3 流程与规范332
7.2.4 文化与持续改进334
7.2.5 总结334
7.3 基于OpenShift实现CI/CD的几种方式335
7.3.1 使用自定义的S2I模板340
7.3.2 自定义模板实现Binary部署343
7.3.3 在源码外构建Pipeline349
7.3.4 在源码内构建Pipeline352
7.3.5 Tekton实现云原生构建354
7.4 在OpenShift上实现持续交付361
7.4.1 OpenShift上的持续交付工具
介绍362
7.4.2 基于Jenkins实现持续交付372
7.4.3 基于Tekton实现持续交付383
7.5 本章小结389
第8章 DevOps在企业中的实践390
8.1 成功实践DevOps的关键要素390
8.1.1 定义全景视图和目标390
8.1.2 标准化的流程和组织391
8.1.3 建立DevOps基石:自动化391
8.1.4 协同工作的文化392
8.2 某大型客户DevOps案例分析392
8.2.1 客户现状及项目背景392
8.2.2 DevOps落地实践393
8.2.3 实践收益469
8.3 本章小结470
第9章 基于OpenShift构建云原生471
9.1 什么是云原生应用471
9.2 轻量级应用服务器的选择472
9.2.1 轻量级的应用服务器472
9.2.2 如何将应用迁移到轻量级应用服务器473
9.3 云原生的应用开发框架:Quarkus475
9.3.1 传统Java的困境475
9.3.2 GraalVM的兴起476
9.3.3 云原生Java:Quarkus477
9.3.4 编译和部署一个Quarkus应用479
9.3.5 Quarkus的热加载484
9.3.6 在OpenShift中部署Quarkus应用程序486
9.3.7 为Quarkus应用添加Rest Client扩展490
9.3.8 Quarkus应用的容错能力494
9.3.9 Quarks的事务管理 497
9.3.10 Spring Boot应用向Quarkus的迁移498
9.4 云原生分布式集成:Camel-K 499
9.5 云原生的捕获数据更改:Debezium 503
9.5.1 Debezium项目介绍503
9.5.2 Debezium的功能展示504
9.6 云原生的业务流程自动化:Kogito509
9.7 云原生Serverless:Knative515
9.7.1 Knative简介515
9.7.2 OpenShift Serverless516
9.7.3 OpenShift Serverless的安装518
9.7.4 OpenShift Serverless的蓝绿发布520
9.7.5 OpenShift Serverless的事件触发524
9.8 本章小结526
第10章 微服务在OpenShift上的落地527
10.1 微服务介绍527
10.1.1 微服务的特点与优势527
10.1.2 微服务架构528
10.1.3 企业对微服务治理的需求529
10.2 Spring Cloud在OpenShift上的落地530
10.2.1 Spring Cloud在OpenShift上的实现与原生实现的不同530
10.2.2 Spring Cloud在OpenShift上的实现536
10.3 Istio在OpenShift上的落地551
10.3.1 Istio介绍551
10.3.2 Sidecar的注入553
10.3.3 OpenShift Service Mesh介绍556
10.4 Istio的基本功能562
10.4.1 Istio路由基本概念562
10.4.2 基于目标端的灰度/蓝绿发布566
10.4.3 微服务的灰度上线569
10.4.4 微服务的熔断572
10.4.5 微服务的黑名单574
10.5 对OpenShift上Istio的重要说明577
10.5.1 OpenShift上Istio入口访问方式的选择577
10.5.2 OpenShift Router和Istio Ingessgateway的联系与区别585
10.5.3 Istio配置生效的方式和选择586
10.6 企业应用向Istio迁移588
10.6.1 使用本地构建方式将应用迁移到Istio的步骤588
10.6.2 三层微服务向Istio中迁移展示590
10.7 Istio生产使用建议595
10.7.1 Istio的性能指标596
10.7.2 Istio的运维建议597
10.8 基于OpenShift实现的微服务总结599
10.9 本章小结601
猜您喜欢