[套装书]云原生应用构建:基于OpenShift+OpenShift在企业中的实践:PaaS DevOps 微服务(2册)

作者
魏新宇、王洪涛、陈耿 魏新宇 郭跃军
丛书名
云计算与虚拟化技术丛书
出版社
机械工业出版社
ISBN
9782007071451
简要
简介
内容简介书籍计算机书籍 ---------------------------云原生应用构建:基于OpenShift--------------------------- 这是一部从开发和运维两种视角讲解如何基于OpenShift构建云原生应用的著作。三位作者分别来自红帽和微软公司,都是OpenShift和云原生领域的布道者和领军人物,经验非常丰富。 全书一共14章,秉承全栈理念讲解了构建云原生应用需要掌握的云原生技术、OpenShift技术以及开源分布式中间件技术。 *部分:云原生篇(第1~11章) 首先,讲解了云原生和与之相关的分布式开源中间件的技术,如基于云原生的Java实现等;其次,讲解了云原生构建的6大步骤及其相关的技术和方法,如发展DevOps文化、构建分布式缓存等;*后,讲解了人工智能在容器云上的实践。 第二部分:OpenShift篇(第12~14章) 详细讲解了OpenShift 集群的规划、管理、离线安装与部署,以及OpenShift 在公有云上的*实践。 ---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务--------------------------- 本书从企业数字化转型入手,介绍企业如何通过OpenShift构建PaaS平台、实现DevOps、实现微服务治理和微服务的高级管理。 全书共分为四大部分: . *部分PaaS能力建设。即本书的PaaS三部曲”,包含第2-4章的内容,分别是:基于OpenShift构建企业级PaaS、OpenShift在企业中的开发和运维实践、OpenShift在公有云上的实践。 第二部分DevOps能力建设。即本书的DevOps两部曲”,包含第5-6章的内容,分别为:在OpenShift上实现DevOps、DevOps在企业中的实践。 第三部分微服务能力建设。即本书微服务三部曲”,包含第7-9章的内容,分别为:微服务介绍及Spring Cloud在OpenShift上落地、Istio架构介绍与安装部署、基于OpenShift和Istio实现微服务落地。 第四部分微服务高级管理。包含本书第10章的内容。介绍基于OpenShft和红帽其他解决方案微服务的高级管理(API管理、分布式集成和流程自动化),并*终实现企业业务中台的建设。
目录



---------------------------云原生应用构建:基于OpenShift---------------------------


序言
前言
第一部分 云原生篇
第1章 云原生应用的构建之路2
1.1 云原生应用2
1.1.1 什么是云原生应用2
1.1.2 云原生应用开发和部署的四大
原则3
1.2 云原生应用构建之路的步骤3
1.3 借助Red Hat开源解决方案实现
云原生6
1.4 本章小结8
第2章 传统Linux上构建应用包9
2.1 什么是RPM9
2.2 从源代码构建软件10
2.2.1 本机编译代码10
2.2.2 解释型代码11
2.3 给软件打补丁12
2.4 安装软件13
2.5 源代码生成tar.gz包14
2.6 RPM打包15
2.6.1 什么是SPEC文件15
2.6.2 书写SPEC文件17
2.7 构建二进制RPM包19
2.7.1 构建Source RPM和二进制
RPM19
2.7.2 检查并安装RPM包21
2.8 如何在异构环境重新编译RPM22
2.9 本章小结24
第3章 云原生Java的实现25
3.1 Java应用的发展25
3.1.1 Java EE架构25
3.1.2 Java应用的打包与JDK28
3.2 Kubernetes时代Java面临的问题33
3.3 Quarkus的架构33
3.4 验证Quarkus功能34
3.4.1 编译和部署Quarkus应用34
3.4.2 Quarkus的热加载39
3.4.3 在OpenShift中部署Quarkus
应用程序41
3.4.4 Quarkus应用添加REST Client
扩展45
3.4.5 Quarkus应用的容错能力50
3.5 Quarkus的事务管理52
3.6 本章小结53
第4章 DevOps和DevSecOps的
实现54
4.1 什么是DevOps54
4.1.1 从瀑布式开发到敏捷开发54
4.1.2 从敏捷开发到DevOps55
4.2 DevOps的技术实现56
4.3 在OpenShift上实现DevOps58
4.3.1 S2I与Jenkins结合使用实现
CI/CD59
4.3.2 常用DevOps工具介绍61
4.3.3 OpenShift 3 Jenkins Pipeline
工作流分析64
4.4 OpenShift 4.2中的OpenShift
Pipeline69
4.4.1 Tekton概述69
4.4.2 安装OpenShift Pipeline71
4.4.3 验证OpenShift Pipeline73
4.5 DevSecOps在OpenShift上的实现79
4.5.1 DevSecOps的架构79
4.5.2 DevSecOps中的安全工具80
4.5.3 DevSecOps在OpenShift上的
架构80
4.5.4 DevSecOps所依赖的OpenShift
实验环境81
4.5.5 DevSecOps Pipeline分析83
4.5.6 执行DevSecOps Pipeline89
4.6 本章小结94
第5章 构建分布式消息中间件和
数据流平台95
5.1 服务之间的通信95
5.1.1 服务之间的通信方式95
5.1.2 异步通信实现97
5.1.3 消息的分类97
5.2 AMQ在OpenShift上的企业级
实现98
5.2.1 标准消息中间件规范98
5.2.2 查看AMQ的多协议支持101
5.2.3 创建持久队列101
5.2.4 AMQ的HA104
5.2.5 AMQ的Cluster105
5.2.6 AMQ在OpenShift上的部署107
5.3 Kafka在OpenShift上的实现113
5.3.1 Kafka的架构113
5.3.2 Kafka集群在OpenShift集群
上的实现方式114
5.3.3 在OpenShift上部署Kafka
集群115
5.3.4 配置Kafka外部访问121
5.3.5 配置Mirror Maker124
5.4 本章小结128
第6章 构建分布式缓存129
6.1 IT架构的演进129
6.1.1 传统IT架构129
6.1.2 分布式IT架构130
6.1.3 分布式IT架构下的缓存130
6.1.4 内存数据网格的应用场景131
6.2 内存数据网格技术实现:
Infinispan131
6.2.1 Infinispan的两种部署模式132
6.2.2 Infinispan的三种配置模式133
6.2.3 Infinispan功能验证134
6.2.4 在OpenShift上实现
Infinispan138
6.3 内存数据网格技术实现:Redis141
6.3.1 Sentinel Redis一主多从141
6.3.2 Redis Cluster Redis多主
多从142
6.3.3 Redis在OpenShift上的实现143
6.4 Infinispan和Redis的对比150
6.5 本章小结150
第7章 构建业务流程自动化151
7.1 规则与流程151
7.2 企业规则的开源实现153
7.2.1 KIE的架构153
7.2.2 Drools的架构155
7.3 企业级规则自动化方案157
7.3.1 Red Hat Decision Manager
架构157
7.3.2 RHDM在OpenShift上的实现
架构158
7.4 以抵押贷款应用展示RHDM
功能161
7.4.1 在RHDM上导入抵押贷款
应用源码161
7.4.2 抵押贷款应用源码分析163
7.4.3 探索抵押贷款应用165
7.4.4 复杂规则的处理168
7.4.5 验证决策模型和表示法(DMN)
格式规则171
7.5 Red Hat流程自动化方案174
7.5.1 Red Hat Process Automation
Manager架构174
7.5.2 RHPAM与微服务的集成案例
环境准备176
7.5.3 RHPAM与微服务的集成实验
流程验证185
7.6 本章小结194
第8章 云原生应用的安全195
8.1 云原生应用的认证与授权195
8.2 OpenShift的单点登录197
8.2.1 OpenShift的认证方式197
8.2.2 OpenShift与Keycloak
的集成198
8.3 实现Web应用单点登录209
8.4 云原生应用出口流量限制219
8.4.1 配置出口防火墙219
8.4.2 配置出口路由器220
8.5 本章小结224
第9章 分布式集成与API管理225
9.1 分布式集成225
9.1.1 分布式集成方案225
9.1.2 基于OpenShift 3.11和Camel的
微服务集成227
9.1.3 Camel K项目介绍251
9.2 API管理方案253
9.2.1 Red Hat 3Scale的技术架构与
实现效果253
9.2.2 Red Hat 3Scale对容器化应用的
管理255
9.3 本章小结262
第10章 云原生应用与Serverless
的结合263
10.1 无服务器架构Serverless263
10.1.1 应用架构的演进263
10.1.2 基础架构的演进264
10.1.3 Serverless的技术种类265
10.1.4 OpenWhisk的核心概念266
10.1.5 基于OpenShift集群部署 的
OpenWhisk267
10.2 Serverless与IoT的配合270
10.2.1 场景描述270
10.2.2 创建并验证第一个Action:
formatInput271
10.2.3 创建并验证第二个Action:
enricher274
10.2.4 将两个Action链接276
10.2.5 创建并验证第三个Action:
geofence277
10.2.6 验证包含三个Action的
序列279
10.3 本章小结282
第11章 人工智能在容器云上的
实践283
11.1 Caffe2和Jupyter Notebook介绍283
11.2 在OpenShift集群中部署
Caffe2284
11.3 运行代码分析287
11.3.1 整体代码分析287
11.3.2 运行代码287
11.4 Open Data Hub的简介与展示299
11.4.1 Open Data Hub简介299
11.4.2 Open Data Hub的安装300
11.4.3 Open Data Hub的基本功能
展示306
11.5 本章小结307
第二部分 OpenShift篇
第12章 集群规划与管理310
12.1 集群规划310
12.1.1 裸金属还是虚拟机311
12.1.2 容量评估315
12.1.3 网络考量316
12.1.4 集群的部署考量319
12.1.5 拉伸集群跨数据中心
部署322
12.1.6 联邦集群322
12.2 集群管理和增强338
12.2.1 多集群管理门户338
12.2.2 集群上应用的灾难备份/
恢复策略342
12.2.3 启动OpenShift上的硬件
加速351
12.3 本章小结363
第13章 OpenShift 4集群离线部署
详解与简化364
13.1 极简环境规划364
13.2 使用Helper节点工具辅助安装
部署365
13.3 安装配置确认和解析367
13.3.1 DNS手动配置及解析367
13.3.2 负载均衡器手动配置及解析369
13.3.3 WebServer手动配置及解析371
13.3.4 配置离线镜像仓库/还原
镜像371
13.3.5 执行安装步骤372
13.3.6 完成安装376
13.3.7 附加操作:内部镜像库设置
使用emptydir或者NFS376
13.4 本章小结377
第14章 OpenShift与公有云378
14.1 OpenShift结合公有云的收益378
14.2 OpenShift公有云部署选择380
14.2.1 基于IaaS380
14.2.2 基于PaaS385
14.3 Azure Red Hat OpenShift385
14.3.1 集群部署与伸缩387
14.3.2 自动化运维387
14.3.3 全球部署387
14.3.4 混合云架构388
14.3.5 安全与认证389
14.3.6 与Azure服务的集成389
14.3.7 开发者体验389
14.3.8 联合技术支持390
14.3.9 付费模式391
14.3.10 OpenShift 4391
14.4 公有云OpenShift最佳实践391
14.4.1 因地制宜地选择架构391
14.4.2 最小化基础架构管理工作量392
14.4.3 构建高可用的部署架构392
14.4.4 Infrastructure as Code393
14.4.5 DevOps393
14.5 本章小结393



---------------------------OpenShift在企业中的实践:PaaS DevOps 微服务---------------------------


赞誉
推荐序
前言
致谢
第 1 章 通过 OpenShift 实现企业的数字化转型
1.1 企业进行数字化转型的必要性
1.2 企业数字化转型之 PaaS
1.3 企业数字化转型之 DevOps
1.3.1 从瀑布式开发到敏捷开发
1.3.2 从敏捷开发到 DevOps
1.4 企业数字化转型之微服务
1.4.1 微服务架构简介
1.4.2 微服务架构的主要类型
1.4.3 企业实施微服务架构的收益和原则
1.5 PaaS、DevOps 与微服务的关系
1.6 企业数字化转型的实现
1.6.1 企业业务中台的建设
1.6.2 企业数字化转型步骤
1.7 本章小结
第 2 章 基于 OpenShift 构建企业级PaaS 平台
2.1 OpenShift 与 Kubernetes 的关系
2.1.1 OpenShift 发展简史
2.1.2 OpenShift 对 Kubernetes 的增强
2.1.3 OpenShift 对 Kubernetes生态的延伸
2.2 OpenShift 的架构介绍与规划
2.2.1 OpenShift 的逻辑架构
2.2.2 OpenShift 的技术架构
2.2.3 OpenShift 的组件架构
2.2.4 OpenShift 的部署架构
2.3 OpenShift 部署架构参考
2.4 OpenShift 安装与部署
2.4.1 OpenShift3 的私有云部署
2.4.2 OpenShift4.1 的私有云部署
2.5 本章小结
第 3 章 OpenShift 在企业中的开发和运维实践
3.1 OpenShift 在企业中面向的对象
3.2 OpenShift 在企业中的开发实践
3.2.1 应用向 OpenShift 容器化迁移方法
3.2.2 基于 Fabric8 在 OpenShift 上发布应用
3.2.3 OpenShift API 的调用
3.2.4 在 OpenShift 上部署有状态应用
3.3 OpenShift 在企业中的运维实践
3.3.1 OpenShift 运维指导
3.3.2 OpenShift 安全实践
3.3.3 OpenShift 性能优化
3.3.4 OpenShift 监控系统与改造
3.3.5 OpenShift 日志系统与改造
3.3.6 OpenShift 备份恢复与容灾
3.4 本章小结
第 4 章 OpenShift 在公有云上的实践
4.1 OpenShift 在公有云和私有云上的区别
4.2 OpenShift 在公有云上的架构模型
4.2.1 单个 PaaS 共享架构模型
4.2.2 公有云服务自维护架构模型
4.2.3 控制节点托管架构模型
4.2.4 公有云租户独享 PaaS 架构模型
4.3 OpenShift 在公有云上的部署方式
4.4 OpenShift 在 AWS 上的实践
4.4.1 AWS 服务简介
4.4.2 OpenShift3 在 AWS 上的实践
4.4.3 OpenShift4 在 AWS 上的实践
4.4.4 AWS 上的 Service Broker
4.5 OpenShift 在阿里云上的实践
4.6 本章小结
第 5 章 在 OpenShift 上实现DevOps
5.1 DevOps 的适用场景
5.2 DevOps 的实现路径
5.2.1 组织与角色
5.2.2 平台与工具
5.2.3 流程与规范
5.2.4 文化与持续改进
5.2.5 总结
5.3 基于 OpenShift 实现 CI/CD 的几种方式
5.3.1 使用自定义的 S2I 模板
5.3.2 自定义模板实现 Binary部署
5.3.3 在源码外构建 Pipeline
5.3.4 在源码内构建 Pipeline
5.3.5 OpenShift 中 Jenkins 的工作方式选择
5.4 在 OpenShift 上实现持续交付
5.4.1 OpenShift 上的持续交付工具介绍
5.4.2 持续交付的实现
5.4.3 可以优化的部分
5.5 Ansible 实现混合云中的DevOps
5.5.1 Ansible 介绍
5.5.2 Ansible 基本使用场景
5.5.3 Ansible 在 DevOps 中的应用
5.6 本章小结
第 6 章 DevOps 在企业中的实践
6.1 成功实践 DevOps 的关键要素
6.1.1 定义全景视图和目标
6.1.2 标准化的流程和组织
6.1.3 建立 DevOps 基石:自动化
6.1.4 协同工作的文化
6.2 某大型客户 DevOps 案例分析
6.2.1 客户现状及项目背景
6.2.2 DevOps 落地实践
6.2.3 实践收益
6.3 本章小结
第 7 章 微服务介绍及 Spring Cloud在 OpenShift 上的落地
7.1 企业应用的发展
7.1.1 Jakarta EE 介绍
7.1.2 Jakarta EE 应用架构
7.1.3 Web Services 的大量使用
7.1.4 现代应用客户端开发方式
7.1.5 Web Services 的两种类型
7.1.6 企业应用发展的未来
7.2 微服务介绍
7.2.1 微服务方法论与设计原则
7.2.2 MicroProfile微服务框架
7.2.3 Spring Cloud 微服务框架
7.2.4 Istio微服务框架
7.2.5 微服务架构的选择
7.3 企业对微服务治理的需求
7.4 Spring Cloud 在 OpenShift 上的落地
7.4.1 Spring Cloud 在 OpenShift上实现的不同
7.4.2 Spring Cloud 在 OpenShift上的实现
7.5 本章小结
第 8 章 Istio架构介绍与安装部署
8.1 Istio的技术架构
8.1.1 两个平面的定义
8.1.2 控制平面
8.1.3 数据平面
8.1.4 Sidecar 的注入
8.2 在 OpenShift 上部署Istio
8.2.1 基于 OpenShift 的Istio与社区版本Istio的区别
8.2.2 在 OpenShift 上安装Istio
8.3 Istio的工具集简介
8.3.1 Istio的工具集:Grafana
8.3.2 Istio的工具集:Prometheus
8.3.3 Istio的工具集:Kiali
8.3.4 Istio的工具集:Jaeger
8.4 在Istio中部署Bookinfo微服务
8.4.1 Bookinfo微服务架构
8.4.2 在 OpenShift 中部署Bookinfo
8.4.3 Bookinfo微服务效果展示
8.5 Bookinfo微服务源码分析
8.5.1 Productpage微服务的源码
8.5.2 Reviews 微服务的源码
8.5.3 源码中Mongodb和Mysql的配置
8.5.4 Ratings 微服务的源码
8.5.5 Bookinfo访问效果展示
8.6 本章小结
第 9 章 基于 OpenShift 和Istio实现微服务落地
9.1 Istio的基本功能
9.1.1 Istio路由基本概念
9.1.2 基于目标端的灰度 / 蓝绿发布
9.1.3 微服务的灰度上线
9.1.4 微服务的限流
9.1.5 微服务的熔断
9.1.6 微服务的黑名单
9.2 对 OpenShift 上Istio的重要说明
9.2.1 OpenShift 上Istio入口访问方式的选择
9.2.2 OpenShift Router 和IstioIngessgateway的联系与区别
9.2.3 Istio配置生效的方式和选择
9.3 企业应用向Istio迁移
9.3.1 使用本地构建方式将应用迁移到Istio的步骤
9.3.2 三层微服务源码分析
9.3.3 三层微服务向Istio中迁移展示
9.4 Istio纳管微服务
9.4.1 纳管场景重要说明
9.4.2 三层微服务配置路由管理
9.4.3 三层微服务配置限流和熔断
9.4.4 三层微服务配置超时和重试
9.4.5 三层微服务配置错误注入
9.4.6 三层微服务配置黑白名单
9.4.7 三层微服务配置验证与授权
9.5 Istio生产使用建议
9.5.1 Istio的性能指标
9.5.2 Istio的调优参考
9.5.3 Istio的运维建议
9.6 基于 OpenShift 实现的企业微服务治理需求
9.7 本章小结
第 10 章 微服务的高级管理
10.1 微服务的 API 管理
10.1.1 API 经济的由来
10.1.2 API 经济的实现
10.1.3 API 网关与 API 管理的区别
10.2 微服务的 API 管理方案
10.2.1 红帽 API 管理方案的市场地位
10.2.2 红帽 3Scale 的技术架构与实现效果
10.2.3 红帽 3Scale 对容器化应用的管理
10.2.4 红帽 3Scale 与Istio的集成
10.3 微服务的分布式集成
10.3.1 分布式集成方案
10.3.2 基于 OpenShift 和 Camel 的微服务集成
10.4 微服务的流程自动化
10.4.1 流程与规则
10.4.2 红帽的微服务流程自动化方案
10.4.3 RHPAM 与微服务的集成案例环境准备
10.4.4 RHPAM 与微服务的集成实验流程验证
10.5 业务中台的技术实现
10.6 本章小结
附录 OpenShift 投资回报率分析



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4