關于我們
書單推薦
新書推薦
|
OpenShift在企業(yè)中的實踐:PaaS DevOps 微服務(第2版)
兩位云計算和微服務資深專家合著,從企業(yè)實戰(zhàn)角度,為客戶通過OpenShift實現(xiàn)IT轉型給出具體建議和參考架構,講述如何構建基于混合云的云原生平臺。
本書第1版于2019年10月出版后受到了廣大讀者的歡迎,并在2020年4月進行了重印。第1版以OpenShift v3為主,介紹了少量的OpenShift v4特性。隨著技術的迭代和發(fā)展,現(xiàn)在OpenShift v4已經(jīng)成為主流,為了使讀者獲取的知識,我們對全書基于OpenShift v4進行了重寫。為了控制篇幅,將部分v3版本中有價值的內容放置在GitHub上供讀者參考。
作為本書的作者,魏新宇和郭躍軍(現(xiàn)就職VMware)分別在2017年前后正式加入紅帽公司,彼時正值紅帽開始在國內推廣OpenShift v3。在接觸OpenShift之初,我們就意識到它會將企業(yè)的IT建設提升到一個新的境界,也將是一個非常有前景的技術堆棧,于是投入了大量的精力來學習OpenShift生態(tài)圈的相關技術,并結合DevOps、微服務推出了一些解決方案。 我們有幸參與了多個紅帽O(jiān)penShift項目,在項目中得到了紅帽領導們的大力支持,尤其是紅帽全球副總裁兼大中華區(qū)總裁曹衡康(Victor Tsao)。此外,我們也從客戶身上學到了很多。在和客戶及專家們的多次交流中,我們看到了企業(yè)的真實需求和我們的不足,并在項目中不斷提高自己、完善方案。這些客戶包括(但不限于):中國信息通信研究院云計算技術研究員杜嵐、原中國農(nóng)業(yè)銀行研發(fā)中心專家羅水華、中國農(nóng)業(yè)銀行研發(fā)中心云計算團隊經(jīng)理彭尚峰、招商銀行云計算架構師羅文江、系統(tǒng)架構師高嵩、招商局集團數(shù)字化中心技術專家山金孝、中國銀聯(lián)云計算專家劉世民、中國大地保險信息科技部總經(jīng)理助理韓永軍、農(nóng)銀人壽基礎架構處經(jīng)理/架構師黃彬、原安達人壽香港Head of IT張毅、ING Australia DevOps總監(jiān)高暉、原興業(yè)數(shù)金云原生技術專家潘曉華、海信集團IT與數(shù)據(jù)管理部/技術開發(fā)部長單奇聰、寶馬中國IT經(jīng)理魏凈輝、中國民航信息網(wǎng)絡股份有限公司運行中心中間件團隊經(jīng)理張俊卿。在此,我們衷心地感謝各位領導給予我們的指導和幫助! 目前市面上已經(jīng)有很多介紹Kubernetes和容器技術的書籍,OpenShift的技術博客、參考文檔也不少,但大多停留在單一技術的功能介紹和使用層面上,無法完整地描繪企業(yè)數(shù)字化轉型路線。在多年項目的錘煉中,我們積累了很多幫助企業(yè)實現(xiàn)數(shù)字化轉型的實踐經(jīng)驗,為了讓這些經(jīng)驗能夠幫助更多的企業(yè),我們決定合著一本真正從實踐落地角度出發(fā)的書籍,將紅帽的開源技術和企業(yè)數(shù)字化轉型的需求相結合,為企業(yè)的數(shù)字化轉型拋磚引玉。 本書收錄了魏新宇此前所寫的技術文章,這些文章初在IBM DeveloperWorks中國網(wǎng)站發(fā)表,網(wǎng)址是https://www.ibm.com/developerworks/cn(注:IBM DeveloperWorks現(xiàn)已更名為IBM Developer,網(wǎng)址是https://developer.ibm.com/zh),文章列表為: 《使用Istio實現(xiàn)基于Kubernetes的微服務架構》 《通過Kubernetes和容器實現(xiàn)DevOps》 《OpenShift中容器多網(wǎng)絡平面選型》 本書的主要內容 本書以紅帽O(jiān)penShift v4為核心編寫,書中的演示和截圖均使用OpenShift企業(yè)版。社區(qū)版OKD只是在安裝上稍有差別,在功能實現(xiàn)和技術上是一致的,因此本書也適合使用社區(qū)版的讀者閱讀,當然,我們建議使用企業(yè)版以獲得相應的支持和保障。如果你使用的是Kubernetes,本書的大部分內容也同樣適用。 本書從客戶的數(shù)字化轉型入手,介紹如何通過OpenShift構建PaaS平臺以及實現(xiàn)DevOps、云原生、微服務。全書共分為四大部分: PaaS能力建設。即本書的“PaaS五部曲”,包含第2~6章的內容,分別是OpenShift技術解密及架構設計、基于OpenShift構建企業(yè)級PaaS平臺、OpenShift在企業(yè)中的開發(fā)實踐、OpenShift在企業(yè)中的運維實踐、OpenShift在公有云上的實踐。 DevOps能力建設。即本書的“DevOps兩部曲”,包含第7~8章的內容,分別為在OpenShift上實現(xiàn)DevOps、DevOps在企業(yè)中的實踐。 云原生能力建設。即本書的云原生部分,包含第9章,介紹如何為單體應用提速以及云原生開發(fā)和運行環(huán)境的選擇。 微服務能力建設。即本書的微服務部分,包含第10章,包括微服務介紹及Spring Cloud在OpenShift上的落地、Istio架構介紹與安裝部署、基于OpenShift和Istio實現(xiàn)微服務落地。 本書的亮點 多位全球知名企業(yè)IT負責人的聯(lián)名推薦,涵蓋銀行、保險、金融科技、汽車制造、航空信息等行業(yè),體現(xiàn)了本書巨大的含金量。 內容均來自兩名作者一線的售前和實施經(jīng)驗,具有較強的技術指導性。 全面基于OpenShift v4,對PaaS、DevOps、云原生、微服務治理進行系統(tǒng)闡述的書籍。 不是基本概念或實驗步驟的介紹,而是從企業(yè)客戶實戰(zhàn)角度,為客戶通過OpenShift實現(xiàn)IT轉型給出具體的建議和參考架構。 秉承全棧理念,內容兼顧運維和開發(fā)。 本書讀者對象 本書適合有一定OpenShift/Kubernetes基礎的讀者、企業(yè)的架構師、IT經(jīng)理、應用架構師和開源技術愛好者閱讀。 在線資源獲取 本書中演示使用的全部代碼均放到了作者自建的GitHub倉庫中,以便讀者進行實踐。由于開源的版本迭代較快,因此作者建議讀者從架構方向來閱讀本書,不必過于糾結細微的版本差別。 為了控制篇幅并方便讀者重現(xiàn)實驗,作者為本書每章創(chuàng)建了對應的GitHub Repo。直接掃描下圖二維碼即可
作者簡介:
魏新宇 紅帽副首席解決方案架構師。在IaaS、PaaS方面有豐富的經(jīng)驗,致力于開源解決方案在企業(yè)中的推廣和應用。從售前角度主導了紅帽在金融、汽車行業(yè)的多個PaaS項目。曾就職于華為、IBM和VMware。工作涉及領域硬件、AIX/Linux、虛擬化、PaaS、DevOps、微服務等。獲得紅帽RHCA Level 5認證、RHCE認證。獲得ITIL V3、Cobit5、TOGAF、C-STAR/TOGAF(鑒定級)相關認證。通過“大魏分享(david-share)”微信公眾號,分享了很多項目實踐中的經(jīng)驗。 郭躍軍 目前就職于VMware,擔任Solutions Engineer。曾任職于紅帽擔任PaaS咨詢顧問、AWS顧問服務團隊擔任云架構咨詢顧問,熟悉私有云和公有云生態(tài)。從2015年接觸容器技術開始,一直奮戰(zhàn)在PaaS建設一線,參與了很多OpenShift項目的競標、PoC、咨詢和落地實施,幫助很多企業(yè)實現(xiàn)了數(shù)字化轉型。經(jīng)過多年的技術積累和項目歷練,在PaaS建設運維、DevOps咨詢落地以及微服務改造遷移等方面有豐富的經(jīng)驗,并一直保持著對開源技術、云原生技術進行深入研究的熱情。
贊譽
推薦序 再版前言 致謝 作者介紹 第1章 通過OpenShift實現(xiàn)企業(yè)的 數(shù)字化轉型1 1.1 企業(yè)進行數(shù)字化轉型的必要性1 1.2 企業(yè)數(shù)字化轉型之PaaS2 1.3 企業(yè)數(shù)字化轉型之DevOps3 1.3.1 從瀑布式開發(fā)到敏捷開發(fā)3 1.3.2 從敏捷開發(fā)到DevOps4 1.3.3 洛克希德·馬丁公司實施 DevOps的收益5 1.4 企業(yè)數(shù)字化轉型之微服務6 1.4.1 微服務架構簡介6 1.4.2 微服務架構的主要類型7 1.4.3 企業(yè)實施微服務架構的收益和原則7 1.5 PaaS、DevOps與微服務的關系8 1.6 企業(yè)數(shù)字化轉型的實現(xiàn)8 1.6.1 什么是云原生應用8 1.6.2 企業(yè)數(shù)字化轉型之路9 1.7 本章小結11 第2章 OpenShift技術解密及架構設計12 2.1 OpenShift與Kubernetes的關系12 2.1.1 容器發(fā)展史12 2.1.2 OpenShift發(fā)展簡史14 2.1.3 OpenShift對Kubernetes的增強14 2.1.4 OpenShift對Kubernetes 生態(tài)的延伸17 2.2 OpenShift的架構介紹與規(guī)劃20 2.2.1 OpenShift的邏輯架構20 2.2.2 OpenShift的技術架構21 2.2.3 OpenShift的部署架構規(guī)劃54 2.3 本章小結107 第3章 基于OpenShift構建企業(yè)級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節(jié)點擴容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在企業(yè)中的開發(fā)實踐166 4.1 開發(fā)人員的關注點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 本地構建實現(xiàn)應用容器化174 4.2.6 S2I實現(xiàn)應用容器化179 4.3 OpenShift上應用部署實踐195 4.3.1 OpenShift上多種應用部署方式對比195 4.3.2 Deployments與Deployment Config的對比199 4.3.3 自定義指標實現(xiàn)水平擴容200 4.4 OpenShift上部署有狀態(tài)應用201 4.4.1 StatefulSet簡介202 4.4.2 OpenShift部署有狀態(tài)應用實踐203 4.4.3 在OpenShift上統(tǒng)一管理虛擬機207 4.5 從零開發(fā)Operator209 4.5.1 開發(fā)Operator的要點209 4.5.2 開發(fā)一個Ansible Operator210 4.6 本章小結217 第5章 OpenShift在企業(yè)中的運維實踐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多網(wǎng)絡平面的選擇與配置232 5.7.1 Macvlan靜態(tài)IP地址配置方法232 5.7.2 Macvlan動態(tài)分配IP地址配置方法236 5.8 OpenShift中Pod的限速238 5.9 OpenShift中項目無法被刪除問題239 5.10 OpenShift集群性能優(yōu)化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監(jiān)控系統(tǒng)與改造249 5.12.1 原生Prometheus監(jiān)控249 5.12.2 OpenShift原生監(jiān)控系統(tǒng)250 5.12.3 OpenShift原生監(jiān)控系統(tǒng)的改造256 5.12.4 監(jiān)控系統(tǒng)的集成260 5.13 OpenShift日志系統(tǒng)與改造263 5.13.1 OpenShift原生EFK介紹263 5.13.2 日志系統(tǒng)改造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在公有云和私有云上的區(qū)別292 6.2 OpenShift在公有云上的架構模型294 6.2.1 單個PaaS共享架構模型294 6.2.2 公有云服務自維護架構模型296 6.2.3 控制節(jié)點托管架構模型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實現(xiàn)混合云架構324 6.7 本章小結326 第7章 在OpenShift上實現(xiàn)DevOps327 7.1 DevOps的適用場景327 7.2 DevOps的實現(xiàn)路徑328 7.2.1 組織與角色329 7.2.2 平臺與工具330 7.2.3 流程與規(guī)范332 7.2.4 文化與持續(xù)改進334 7.2.5 總結334 7.3 基于OpenShift實現(xiàn)CI/CD的幾種方式335 7.3.1 使用自定義的S2I模板340 7.3.2 自定義模板實現(xiàn)Binary部署343 7.3.3 在源碼外構建Pipeline349 7.3.4 在源碼內構建Pipeline352 7.3.5 Tekton實現(xiàn)云原生構建354 7.4 在OpenShift上實現(xiàn)持續(xù)交付361 7.4.1 OpenShift上的持續(xù)交付工具介紹362 7.4.2 基于Jenkins實現(xiàn)持續(xù)交付372 7.4.3 基于Tekton實現(xiàn)持續(xù)交付383 7.5 本章小結389 第8章 DevOps在企業(yè)中的實踐390 8.1 成功實踐DevOps的關鍵要素390 8.1.1 定義全景視圖和目標390 8.1.2 標準化的流程和組織391 8.1.3 建立DevOps基石:自動化391 8.1.4 協(xié)同工作的文化392 8.2 某大型客戶DevOps案例分析392 8.2.1 客戶現(xiàn)狀及項目背景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 云原生的應用開發(fā)框架:Quarkus475 9.3.1 傳統(tǒng)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-K499 9.5 云原生的捕獲數(shù)據(jù)更改:Debezium503 9.5.1 Debezium項目介紹503 9.5.2 Debezium的功能展示504 9.6 云原生的業(yè)務流程自動化: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的藍綠發(fā)布520 9.7.5 OpenShift Serverless的事件觸發(fā)524 9.8 本章小結526 第10章 微服務在OpenShift上的落地527 10.1 微服務介紹527 10.1.1 微服務的特點與優(yōu)勢527 10.1.2 微服務架構528 10.1.3 企業(yè)對微服務治理的需求529 10.2 Spring Cloud在OpenShift上的落地530 10.2.1 Spring Cloud在OpenShift上的實現(xiàn)與原生實現(xiàn)的不同530 10.2.2 Spring Cloud在OpenShift上的實現(xiàn)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 基于目標端的灰度/藍綠發(fā)布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的聯(lián)系與區(qū)別585 10.5.3 Istio配置生效的方式和選擇586 10.6 企業(yè)應用向Istio遷移588 10.6.1 使用本地構建方式將應用遷移到Istio的步驟588 10.6.2 三層微服務向Istio中遷移展示590 10.7 Istio生產(chǎn)使用建議595 10.7.1 Istio的性能指標596 10.7.2 Istio的運維建議597 10.8 基于OpenShift實現(xiàn)的微服務總結599 10.9 本章小結601
你還可能感興趣
我要評論
|