OpenShift 在企業中的實踐:PaaS DevOps 微服務, 2/e

魏新宇 郭躍軍 著

  • 出版商: 機械工業
  • 出版日期: 2021-10-01
  • 定價: $834
  • 售價: 8.5$709
  • 語言: 簡體中文
  • 頁數: 620
  • 裝訂: 平裝
  • ISBN: 7111691059
  • ISBN-13: 9787111691051
  • 相關分類: DevOpsMicroservices 微服務SOA
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書以紅帽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