云原生應(yīng)用構(gòu)建:基于OpenShift
定 價(jià):99 元
叢書名:云計(jì)算與虛擬化技術(shù)叢書
- 作者:魏新宇 王洪濤 陳耿
- 出版時(shí)間:2020/6/1
- ISBN:9787111657866
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.5
- 頁碼:0
- 紙張:
- 版次:
- 開本:16開
內(nèi)容簡(jiǎn)介
這是一部從開發(fā)和運(yùn)維兩種視角講解如何基于OpenShift構(gòu)建云原生應(yīng)用的著作。三位作者分別來自RedHat官方和微軟,都是OpenShift和云原生領(lǐng)域的布道者和領(lǐng)軍人物,經(jīng)驗(yàn)非常豐富。
全書一共14章,秉承全棧理念講解了構(gòu)建云原生應(yīng)用需要掌握的云原生技術(shù)、OpenShift技術(shù)以及開源分布式中間件技術(shù)。
第壹部分:云原生篇(第1~11章)
首先,講解了云原生和與之相關(guān)的分布式開源中間件的技術(shù),如基于云原生的Java實(shí)現(xiàn)等;其次,講解了云原生構(gòu)建的6大步驟及其相關(guān)的技術(shù)和方法,如發(fā)展DevOps文化、構(gòu)建分布式緩存等;*后,講解了人工智能在容器云上的實(shí)踐。
第二部分:OpenShift篇(第12~14章)
詳細(xì)講解了OpenShift 集群的規(guī)劃、管理、離線安裝與部署,以及OpenShift 在公有云上的*佳實(shí)踐。
序言1
序言2
前言
第一部分 云原生篇
第1章 云原生應(yīng)用的構(gòu)建之路2
1.1 云原生應(yīng)用2
1.1.1 什么是云原生應(yīng)用2
1.1.2 云原生應(yīng)用開發(fā)和部署的四大原則3
1.2 云原生應(yīng)用構(gòu)建之路的步驟3
1.3 借助Red Hat開源解決方案實(shí)現(xiàn)云原生6
1.4 本章小結(jié)8
第2章 傳統(tǒng)Linux上構(gòu)建應(yīng)用包9
2.1 什么是RPM9
2.2 從源代碼構(gòu)建軟件10
2.2.1 本機(jī)編譯代碼10
2.2.2 解釋型代碼11
2.3 給軟件打補(bǔ)丁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 構(gòu)建二進(jìn)制RPM包19
2.7.1 構(gòu)建Source RPM和二進(jìn)制RPM19
2.7.2 檢查并安裝RPM包21
2.8 如何在異構(gòu)環(huán)境重新編譯RPM22
2.9 本章小結(jié)24
第3章 云原生Java的實(shí)現(xiàn)25
3.1 Java應(yīng)用的發(fā)展25
3.1.1 Java EE架構(gòu)25
3.1.2 Java應(yīng)用的打包與JDK28
3.2 Kubernetes時(shí)代Java面臨的問題33
3.3 Quarkus的架構(gòu)33
3.4 驗(yàn)證Quarkus功能34
3.4.1 編譯和部署Quarkus應(yīng)用34
3.4.2 Quarkus的熱加載39
3.4.3 在OpenShift中部署Quarkus應(yīng)用程序41
3.4.4 Quarkus應(yīng)用添加REST Client擴(kuò)展45
3.4.5 Quarkus應(yīng)用的容錯(cuò)能力50
3.5 Quarkus的事務(wù)管理52
3.6 本章小結(jié)53
第4章 DevOps和DevSecOps的實(shí)現(xiàn)54
4.1 什么是DevOps54
4.1.1 從瀑布式開發(fā)到敏捷開發(fā)54
4.1.2 從敏捷開發(fā)到DevOps55
4.2 DevOps的技術(shù)實(shí)現(xiàn)56
4.3 在OpenShift上實(shí)現(xiàn)DevOps58
4.3.1 S2I與Jenkins結(jié)合使用實(shí)現(xiàn)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 驗(yàn)證OpenShift Pipeline73
4.5 DevSecOps在OpenShift上的實(shí)現(xiàn)79
4.5.1 DevSecOps的架構(gòu)79
4.5.2 DevSecOps中的安全工具80
4.5.3 DevSecOps在OpenShift上的架構(gòu)80
4.5.4 DevSecOps所依賴的OpenShift實(shí)驗(yàn)環(huán)境81
4.5.5 DevSecOps Pipeline分析83
4.5.6 執(zhí)行DevSecOps Pipeline89
4.6 本章小結(jié)94
第5章 構(gòu)建分布式消息中間件和數(shù)據(jù)流平臺(tái)95
5.1 服務(wù)之間的通信95
5.1.1 服務(wù)之間的通信方式95
5.1.2 異步通信實(shí)現(xiàn)97
5.1.3 消息的分類97
5.2 AMQ在OpenShift上的企業(yè)級(jí)實(shí)現(xiàn)98
5.2.1 標(biāo)準(zhǔn)消息中間件規(guī)范98
5.2.2 查看AMQ的多協(xié)議支持101
5.2.3 創(chuàng)建持久隊(duì)列101
5.2.4 AMQ的HA104
5.2.5 AMQ的Cluster105
5.2.6 AMQ在OpenShift上的部署107
5.3 Kafka在OpenShift上的實(shí)現(xiàn)113
5.3.1 Kafka的架構(gòu)113
5.3.2 Kafka集群在OpenShift集群上的實(shí)現(xiàn)方式114
5.3.3 在OpenShift上部署Kafka集群115
5.3.4 配置Kafka外部訪問121
5.3.5 配置Mirror Maker124
5.4 本章小結(jié)128
第6章 構(gòu)建分布式緩存129
6.1 IT架構(gòu)的演進(jìn)129
6.1.1 傳統(tǒng)IT架構(gòu)129
6.1.2 分布式IT架構(gòu)130
6.1.3 分布式IT架構(gòu)下的緩存130
6.1.4 內(nèi)存數(shù)據(jù)網(wǎng)格的應(yīng)用場(chǎng)景131
6.2 內(nèi)存數(shù)據(jù)網(wǎng)格技術(shù)實(shí)現(xiàn):Infinispan131
6.2.1 Infinispan的兩種部署模式132
6.2.2 Infinispan的三種配置模式133
6.2.3 Infinispan功能驗(yàn)證134
6.2.4 在OpenShift上實(shí)現(xiàn)Infinispan138
6.3 內(nèi)存數(shù)據(jù)網(wǎng)格技術(shù)實(shí)現(xiàn):Redis141
6.3.1 Sentinel + Redis一主多從141
6.3.2 Redis Cluster + Redis多主多從142
6.3.3 Redis在OpenShift上的實(shí)現(xiàn)143
6.4 Infinispan和Redis的對(duì)比150
6.5 本章小結(jié)150
第7章 構(gòu)建業(yè)務(wù)流程自動(dòng)化151
7.1 規(guī)則與流程151
7.2 企業(yè)規(guī)則的開源實(shí)現(xiàn)153
7.2.1 KIE的架構(gòu)153
7.2.2 Drools的架構(gòu)155
7.3 企業(yè)級(jí)規(guī)則自動(dòng)化方案157
7.3.1 Red Hat Decision Manager架構(gòu)157
7.3.2 RHDM在OpenShift上的實(shí)現(xiàn)架構(gòu)158
7.4 以抵押貸款應(yīng)用展示RHDM功能161
7.4.1 在RHDM上導(dǎo)入抵押貸款應(yīng)用源碼161
7.4.2 抵押貸款應(yīng)用源碼分析163
7.4.3 探索抵押貸款應(yīng)用165
7.4.4 復(fù)雜規(guī)則的處理168
7.4.5 驗(yàn)證決策模型和表示法(DMN)格式規(guī)則171
7.5 Red Hat流程自動(dòng)化方案174
7.5.1 Red Hat Process Automation Manager架構(gòu)174
7.5.2 RHPAM與微服務(wù)的集成案例環(huán)境準(zhǔn)備176
7.5.3 RHPAM與微服務(wù)的集成實(shí)驗(yàn)流程驗(yàn)證185
7.6 本章小結(jié)194
第8章 云原生應(yīng)用的安全195
8.1 云原生應(yīng)用的認(rèn)證與授權(quán)195
8.2 OpenShift的單點(diǎn)登錄197
8.2.1 OpenShift的認(rèn)證方式197
8.2.2 OpenShift與Keycloak的集成198
8.3 實(shí)現(xiàn)Web應(yīng)用單點(diǎn)登錄209
8.4 云原生應(yīng)用出口流量限制219
8.4.1 配置出口防火墻219
8.4.2 配置出口路由器220
8.5 本章小結(jié)224
第9章 分布式集成與API管理225
9.1 分布式集成225
9.1.1 分布式集成方案225
9.1.2 基于OpenShift 3.11和Camel的微服務(wù)集成227
9.1.3 Camel K項(xiàng)目介紹251
9.2 API管理方案253
9.2.1 Red Hat 3Scale的技術(shù)架構(gòu)與實(shí)現(xiàn)效果253
9.2.2 Red Hat 3Scale對(duì)容器化應(yīng)用的管理255
9.3 本章小結(jié)262
第10章 云原生應(yīng)用與Serverless的結(jié)合263
10.1 無服務(wù)器架構(gòu)Serverless263
10.1.1 應(yīng)用架構(gòu)的演進(jìn)263
10.1.2 基礎(chǔ)架構(gòu)的演進(jìn)264
10.1.3 Serverless的技術(shù)種類265
10.1.4 OpenWhisk的核心概念266
10.1.5 基于OpenShift集群部署的OpenWhisk267
10.2 Serverless與IoT的配合270
10.2.1 場(chǎng)景描述270
10.2.2 創(chuàng)建并驗(yàn)證第一個(gè)Action:formatInput271
10.2.3 創(chuàng)建并驗(yàn)證第二個(gè)Action:enricher274
10.2.4 將兩個(gè)Action鏈接276
10.2.5 創(chuàng)建并驗(yàn)證第三個(gè)Action:geofence277
10.2.6 驗(yàn)證包含三個(gè)Action的序列279
10.3 本章小結(jié)282
第11章 人工智能在容器云上的實(shí)踐283
11.1 Caffe2和Jupyter Notebook介紹283
11.2 在OpenShift集群中部署Caffe2284
11.3 運(yùn)行代碼分析287
11.3.1 整體代碼分析287
11.3.2 運(yùn)行代碼287
11.4 Open Data Hub的簡(jiǎn)介與展示299
11.4.1 Open Data Hub簡(jiǎn)介299
11.4.2 Open Data Hub的安裝300
11.4.3 Open Data Hub的基本功能展示306
11.5 本章小結(jié)307
第二部分 OpenShift篇
第12章 集群規(guī)劃與管理310
12.1 集群規(guī)劃310
12.1.1 裸金屬還是虛擬機(jī)311
12.1.2 容量評(píng)估315
12.1.3 網(wǎng)絡(luò)考量316
12.1.4 集群的部署考量319
12.1.5 拉伸集群—跨數(shù)據(jù)中心部署322
12.1.6 聯(lián)邦集群322
12.2 集群管理和增強(qiáng)338
12.2.1 多集群管理門戶338
12.2.2 集群上應(yīng)用的災(zāi)難備份/恢復(fù)策略342
12.2.3 啟動(dòng)OpenShift上的硬件加速351
12.3 本章小結(jié)363
第13章 OpenShift 4集群離線部署詳解與簡(jiǎn)化364
13.1 極簡(jiǎn)環(huán)境規(guī)劃364
13.2 使用Helper節(jié)點(diǎn)工具輔助安裝部署365
13.3 安裝配置確認(rèn)和解析367
13.3.1 DNS手動(dòng)配置及解析367
13.3.2 負(fù)載均衡器手動(dòng)配置及解析369
13.3.3 WebServer手動(dòng)配置及解析371
13.3.4 配置離線鏡像倉(cāng)庫(kù)/還原鏡像371
13.3.5 執(zhí)行安裝步驟372
13.3.6 完成安裝376
13.3.7 附加操作:內(nèi)部鏡像庫(kù)設(shè)置使用emptydir或者NFS376
13.4 本章小結(jié)377
第14章 OpenShift與公有云378
14.1 OpenShift結(jié)合公有云的收益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 自動(dòng)化運(yùn)維387
14.3.3 全球部署387
14.3.4 混合云架構(gòu)388
14.3.5 安全與認(rèn)證389
14.3.6 與Azure服務(wù)的集成389
14.3.7 開發(fā)者體驗(yàn)389
14.3.8 聯(lián)合技術(shù)支持390
14.3.9 付費(fèi)模式391
14.3.10 OpenShift 4391
14.4 公有云OpenShift最佳實(shí)踐391
14.4.1 因地制宜地選擇架構(gòu)391
14.4.2 最小化基礎(chǔ)架構(gòu)管理工作量392
14.4.3 構(gòu)建高可用的部署架構(gòu)392
14.4.4 Infrastructure as Code393
14.4.5 DevOps393
14.5 本章小結(jié)393