第1章 通过OpenShift实现企业的数字化转型 1
1.1 企业进行数字化转型的必要性 1
1.2 企业数字化转型之PaaS 2
1.3 企业数字化转型之DevOps 2
1.3.1 从瀑布式开发到敏捷开发 2
1.3.2 从敏捷开发到DevOps 4
1.4 企业数字化转型之微服务 5
1.4.1 微服务架构简介 5
1.4.2 微服务架构的主要类型 5
1.4.3 企业实施微服务架构的收益和原则 6
1.5 PaaS、DevOps与微服务的关系 6
1.6 企业数字化转型的实现 7
1.6.1 企业业务中台的建设 7
1.6.2 企业数字化转型步骤 8
1.7 本章小结 10
第2章 基于OpenShift构建企业级PaaS平台 11
2.1 OpenShift与Kubernetes的关系 11
2.1.1 OpenShift发展简史 11
2.1.2 OpenShift对Kubernetes的增强 12
2.1.3 OpenShift对Kubernetes生态的延伸 15
2.2 OpenShift的架构介绍与规划 17
2.2.1 OpenShift的逻辑架构 17
2.2.2 OpenShift的技术架构 19
2.2.3 OpenShift的组件架构 20
2.2.4 OpenShift的部署架构 22
2.3 OpenShift部署架构参考 59
2.4 OpenShift安装与部署 62
2.4.1 OpenShift3的私有云部署 62
2.4.2 OpenShift4.1的私有云部署 75
2.5 本章小结 86
第3章 OpenShift在企业中的开发和运维实践 87
3.1 OpenShift在企业中面向的对象 87
3.2 OpenShift在企业中的开发实践 87
3.2.1 应用向OpenShift容器化迁移方法 88
3.2.2 基于Fabric8在OpenShift上发布应用 113
3.2.3 OpenShift API的调用 119
3.2.4 在OpenShift上部署有状态应用 124
3.3 OpenShift在企业中的运维实践 130
3.3.1 OpenShift运维指导 130
3.3.2 OpenShift安全实践 130
3.3.3 OpenShift性能优化 133
3.3.4 OpenShift监控系统与改造 141
3.3.5 OpenShift日志系统与改造 155
3.3.6 OpenShift备份恢复与容灾 171
3.4 本章小结 177
第4章 OpenShift在公有云上的实践 178
4.1 OpenShift在公有云和私有云上的区别 178
4.2 OpenShift在公有云上的架构模型 180
4.2.1 单个PaaS共享架构模型 180
4.2.2 公有云服务自维护架构模型 182
4.2.3 控制节点托管架构模型 183
4.2.4 公有云租户独享PaaS架构模型 184
4.3 OpenShift在公有云上的部署方式 185
4.4 OpenShift在AWS上的实践 185
4.4.1 AWS服务简介 186
4.4.2 OpenShift3在AWS上的实践 187
4.4.3 OpenShift4在AWS上的实践 197
4.4.4 AWS上的Service Broker 202
4.5 OpenShift在阿里云上的实践 204
4.6 本章小结 212
第5章 在OpenShift上实现DevOps 213
5.1 DevOps的适用场景 213
5.2 DevOps的实现路径 214
5.2.1 组织与角色 215
5.2.2 平台与工具 216
5.2.3 流程与规范 218
5.2.4 文化与持续改进 220
5.2.5 总结 220
5.3 基于OpenShift实现CI/CD的几种方式 221
5.3.1 使用自定义的S2I模板 226
5.3.2 自定义模板实现Binary部署 230
5.3.3 在源码外构建Pipeline 236
5.3.4 在源码内构建Pipeline 239
5.3.5 OpenShift中Jenkins的工作方式选择 242
5.4 在OpenShift上实现持续交付 255
5.4.1 OpenShift上的持续交付工具介绍 255
5.4.2 持续交付的实现 266
5.4.3 可以优化的部分 276
5.5 Ansible实现混合云中的DevOps 276
5.5.1 Ansible介绍 277
5.5.2 Ansible基本使用场景 278
5.5.3 Ansible在DevOps中的应用 285
5.6 本章小结 290
第6章 DevOps在企业中的实践 291
6.1 成功实践DevOps的关键要素 291
6.1.1 定义全景视图和目标 291
6.1.2 标准化的流程和组织 292
6.1.3 建立DevOps基石:自动化 292
6.1.4 协同工作的文化 293
6.2 某大型客户DevOps案例分析 293
6.2.1 客户现状及项目背景 293
6.2.2 DevOps落地实践 294
6.2.3 实践收益 370
6.3 本章小结 371
第7章 微服务介绍及Spring Cloud 在OpenShift上的落地 372
7.1 企业应用的发展 372
7.1.1 Jakarta EE介绍 372
7.1.2 Jakarta EE应用架构 373
7.1.3 Web Services的大量使用 375
7.1.4 现代应用客户端开发方式 376
7.1.5 Web Services的两种类型 376
7.1.6 企业应用发展的未来 377
7.2 微服务介绍 377
7.2.1 微服务方法论与设计原则 377
7.2.2 MicroProfile微服务框架 378
7.2.3 Spring Cloud微服务框架 379
7.2.4 Istio微服务框架 380
7.2.5 微服务架构的选择 380
7.3 企业对微服务治理的需求 381
7.4 Spring Cloud在OpenShift上的落地 381
7.4.1 Spring Cloud在OpenShift上实现的不同 382
7.4.2 Spring Cloud在OpenShift上的实现 387
7.5 本章小结 408
第8章 Istio架构介绍与安装部署 410
8.1 Istio的技术架构 410
8.1.1 两个平面的定义 410
8.1.2 控制平面 411
8.1.3 数据平面 416
8.1.4 Sidecar的注入 417
8.2 在OpenShift上部署Istio 422
8.2.1 基于OpenShift的Istio与社区版本Istio的区别 422
8.2.2 在OpenShift上安装Istio 424
8.3 Istio的工具集简介 427
8.3.1 Istio的工具集:Grafana 428
8.3.2 Istio的工具集:Prometheus 429
8.3.3 Istio的工具集:Kiali 430
8.3.4 Istio的工具集:Jaeger 434
8.4 在Istio中部署Bookinfo微服务 435
8.4.1 Bookinfo微服务架构 435
8.4.2 在OpenShift中部署Bookinfo 437
8.4.3 Bookinfo微服务效果展示 440
8.5 Bookinfo微服务源码分析 442
8.5.1 Productpage微服务的源码 442
8.5.2 Reviews微服务的源码 443
8.5.3 源码中Mongodb和Mysql的配置 445
8.5.4 Ratings微服务的源码 446
8.5.5 Bookinfo访问效果展示 447
8.6 本章小结 448
第9章 基于OpenShift和Istio实现微服务落地 449
9.1 Istio的基本功能 449
9.1.1 Istio路由基本概念 449
9.1.2 基于目标端的灰度/蓝绿发布 453
9.1.3 微服务的灰度上线 456
9.1.4 微服务的限流 458
9.1.5 微服务的熔断 463
9.1.6 微服务的黑名单 466
9.2 对OpenShift上Istio的重要说明 468
9.2.1 OpenShift上Istio入口访问方式的选择 468
9.2.2 OpenShift Router和Istio Ingessgateway的联系与区别 477
9.2.3 Istio配置生效的方式和选择 478
9.3 企业应用向Istio迁移 479
9.3.1 使用本地构建方式将应用迁移到Istio的步骤 480
9.3.2 三层微服务源码分析 481
9.3.3 三层微服务向Istio中迁移展示 485
9.4 Istio纳管微服务 491
9.4.1 纳管场景重要说明 491
9.4.2 三层微服务配置路由管理 491
9.4.3 三层微服务配置限流和熔断 506
9.4.4 三层微服务配置超时和重试 510
9.4.5 三层微服务配置错误注入 513
9.4.6 三层微服务配置黑白名单 516
9.4.7 三层微服务配置验证与授权 518
9.5 Istio生产使用建议 522
9.5.1 Istio的性能指标 522
9.5.2 Istio的调优参考 524
9.5.3 Istio的运维建议 537
9.6 基于OpenShift实现的企业微服务治理需求 538
9.7 本章小结 540
第10章 微服务的高级管理 541
10.1 微服务的API管理 541
10.1.1 API经济的由来 541
10.1.2 API经济的实现 542
10.1.3 API网关与API管理的区别 545
10.2 微服务的 API管理方案 546
10.2.1 红帽API管理方案的市场地位 546
10.2.2 红帽3Scale的技术架构与实现效果 547
10.2.3 红帽3Scale对容器化应用的管理 548
10.2.4 红帽3Scale与Istio的集成 554
10.3 微服务的分布式集成 559
10.3.1 分布式集成方案 559
10.3.2 基于OpenShift和Camel的微服务集成 561
10.4 微服务的流程自动化 582
10.4.1 流程与规则 582
10.4.2 红帽的微服务流程自动化方案 584
10.4.3 RHPAM与微服务的集成案例环境准备 586
10.4.4 RHPAM与微服务的集成实验流程验证 594
10.5 业务中台的技术实现 601
10.6 本章小结 602
附录 OpenShift投资回报率分析 603