關(guān)于我們
書單推薦
新書推薦
|
OpenShift在企業(yè)中的實(shí)踐:PaaS DevOps 微服務(wù)(第2版)
兩位云計(jì)算和微服務(wù)資深專家合著,從企業(yè)實(shí)戰(zhàn)角度,為客戶通過OpenShift實(shí)現(xiàn)IT轉(zhuǎn)型給出具體建議和參考架構(gòu),講述如何構(gòu)建基于混合云的云原生平臺(tái)。
本書第1版于2019年10月出版后受到了廣大讀者的歡迎,并在2020年4月進(jìn)行了重印。第1版以O(shè)penShift v3為主,介紹了少量的OpenShift v4特性。隨著技術(shù)的迭代和發(fā)展,現(xiàn)在OpenShift v4已經(jīng)成為主流,為了使讀者獲取的知識(shí),我們對(duì)全書基于OpenShift v4進(jìn)行了重寫。為了控制篇幅,將部分v3版本中有價(jià)值的內(nèi)容放置在GitHub上供讀者參考。
作為本書的作者,魏新宇和郭躍軍(現(xiàn)就職VMware)分別在2017年前后正式加入紅帽公司,彼時(shí)正值紅帽開始在國(guó)內(nèi)推廣OpenShift v3。在接觸OpenShift之初,我們就意識(shí)到它會(huì)將企業(yè)的IT建設(shè)提升到一個(gè)新的境界,也將是一個(gè)非常有前景的技術(shù)堆棧,于是投入了大量的精力來學(xué)習(xí)OpenShift生態(tài)圈的相關(guān)技術(shù),并結(jié)合DevOps、微服務(wù)推出了一些解決方案。 我們有幸參與了多個(gè)紅帽O(jiān)penShift項(xiàng)目,在項(xiàng)目中得到了紅帽領(lǐng)導(dǎo)們的大力支持,尤其是紅帽全球副總裁兼大中華區(qū)總裁曹衡康(Victor Tsao)。此外,我們也從客戶身上學(xué)到了很多。在和客戶及專家們的多次交流中,我們看到了企業(yè)的真實(shí)需求和我們的不足,并在項(xiàng)目中不斷提高自己、完善方案。這些客戶包括(但不限于):中國(guó)信息通信研究院云計(jì)算技術(shù)研究員杜嵐、原中國(guó)農(nóng)業(yè)銀行研發(fā)中心專家羅水華、中國(guó)農(nóng)業(yè)銀行研發(fā)中心云計(jì)算團(tuán)隊(duì)經(jīng)理彭尚峰、招商銀行云計(jì)算架構(gòu)師羅文江、系統(tǒng)架構(gòu)師高嵩、招商局集團(tuán)數(shù)字化中心技術(shù)專家山金孝、中國(guó)銀聯(lián)云計(jì)算專家劉世民、中國(guó)大地保險(xiǎn)信息科技部總經(jīng)理助理韓永軍、農(nóng)銀人壽基礎(chǔ)架構(gòu)處經(jīng)理/架構(gòu)師黃彬、原安達(dá)人壽香港Head of IT張毅、ING Australia DevOps總監(jiān)高暉、原興業(yè)數(shù)金云原生技術(shù)專家潘曉華、海信集團(tuán)IT與數(shù)據(jù)管理部/技術(shù)開發(fā)部長(zhǎng)單奇聰、寶馬中國(guó)IT經(jīng)理魏凈輝、中國(guó)民航信息網(wǎng)絡(luò)股份有限公司運(yùn)行中心中間件團(tuán)隊(duì)經(jīng)理張俊卿。在此,我們衷心地感謝各位領(lǐng)導(dǎo)給予我們的指導(dǎo)和幫助! 目前市面上已經(jīng)有很多介紹Kubernetes和容器技術(shù)的書籍,OpenShift的技術(shù)博客、參考文檔也不少,但大多停留在單一技術(shù)的功能介紹和使用層面上,無法完整地描繪企業(yè)數(shù)字化轉(zhuǎn)型路線。在多年項(xiàng)目的錘煉中,我們積累了很多幫助企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型的實(shí)踐經(jīng)驗(yàn),為了讓這些經(jīng)驗(yàn)?zāi)軌驇椭嗟钠髽I(yè),我們決定合著一本真正從實(shí)踐落地角度出發(fā)的書籍,將紅帽的開源技術(shù)和企業(yè)數(shù)字化轉(zhuǎn)型的需求相結(jié)合,為企業(yè)的數(shù)字化轉(zhuǎn)型拋磚引玉。 本書收錄了魏新宇此前所寫的技術(shù)文章,這些文章初在IBM DeveloperWorks中國(guó)網(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實(shí)現(xiàn)基于Kubernetes的微服務(wù)架構(gòu)》 《通過Kubernetes和容器實(shí)現(xiàn)DevOps》 《OpenShift中容器多網(wǎng)絡(luò)平面選型》 本書的主要內(nèi)容 本書以紅帽O(jiān)penShift v4為核心編寫,書中的演示和截圖均使用OpenShift企業(yè)版。社區(qū)版OKD只是在安裝上稍有差別,在功能實(shí)現(xiàn)和技術(shù)上是一致的,因此本書也適合使用社區(qū)版的讀者閱讀,當(dāng)然,我們建議使用企業(yè)版以獲得相應(yīng)的支持和保障。如果你使用的是Kubernetes,本書的大部分內(nèi)容也同樣適用。 本書從客戶的數(shù)字化轉(zhuǎn)型入手,介紹如何通過OpenShift構(gòu)建PaaS平臺(tái)以及實(shí)現(xiàn)DevOps、云原生、微服務(wù)。全書共分為四大部分: PaaS能力建設(shè)。即本書的“PaaS五部曲”,包含第2~6章的內(nèi)容,分別是OpenShift技術(shù)解密及架構(gòu)設(shè)計(jì)、基于OpenShift構(gòu)建企業(yè)級(jí)PaaS平臺(tái)、OpenShift在企業(yè)中的開發(fā)實(shí)踐、OpenShift在企業(yè)中的運(yùn)維實(shí)踐、OpenShift在公有云上的實(shí)踐。 DevOps能力建設(shè)。即本書的“DevOps兩部曲”,包含第7~8章的內(nèi)容,分別為在OpenShift上實(shí)現(xiàn)DevOps、DevOps在企業(yè)中的實(shí)踐。 云原生能力建設(shè)。即本書的云原生部分,包含第9章,介紹如何為單體應(yīng)用提速以及云原生開發(fā)和運(yùn)行環(huán)境的選擇。 微服務(wù)能力建設(shè)。即本書的微服務(wù)部分,包含第10章,包括微服務(wù)介紹及Spring Cloud在OpenShift上的落地、Istio架構(gòu)介紹與安裝部署、基于OpenShift和Istio實(shí)現(xiàn)微服務(wù)落地。 本書的亮點(diǎn) 多位全球知名企業(yè)IT負(fù)責(zé)人的聯(lián)名推薦,涵蓋銀行、保險(xiǎn)、金融科技、汽車制造、航空信息等行業(yè),體現(xiàn)了本書巨大的含金量。 內(nèi)容均來自兩名作者一線的售前和實(shí)施經(jīng)驗(yàn),具有較強(qiáng)的技術(shù)指導(dǎo)性。 全面基于OpenShift v4,對(duì)PaaS、DevOps、云原生、微服務(wù)治理進(jìn)行系統(tǒng)闡述的書籍。 不是基本概念或?qū)嶒?yàn)步驟的介紹,而是從企業(yè)客戶實(shí)戰(zhàn)角度,為客戶通過OpenShift實(shí)現(xiàn)IT轉(zhuǎn)型給出具體的建議和參考架構(gòu)。 秉承全棧理念,內(nèi)容兼顧運(yùn)維和開發(fā)。 本書讀者對(duì)象 本書適合有一定OpenShift/Kubernetes基礎(chǔ)的讀者、企業(yè)的架構(gòu)師、IT經(jīng)理、應(yīng)用架構(gòu)師和開源技術(shù)愛好者閱讀。 在線資源獲取 本書中演示使用的全部代碼均放到了作者自建的GitHub倉(cāng)庫(kù)中,以便讀者進(jìn)行實(shí)踐。由于開源的版本迭代較快,因此作者建議讀者從架構(gòu)方向來閱讀本書,不必過于糾結(jié)細(xì)微的版本差別。 為了控制篇幅并方便讀者重現(xiàn)實(shí)驗(yàn),作者為本書每章創(chuàng)建了對(duì)應(yīng)的GitHub Repo。直接掃描下圖二維碼即可
作者簡(jiǎn)介:
魏新宇 紅帽副首席解決方案架構(gòu)師。在IaaS、PaaS方面有豐富的經(jīng)驗(yàn),致力于開源解決方案在企業(yè)中的推廣和應(yīng)用。從售前角度主導(dǎo)了紅帽在金融、汽車行業(yè)的多個(gè)PaaS項(xiàng)目。曾就職于華為、IBM和VMware。工作涉及領(lǐng)域硬件、AIX/Linux、虛擬化、PaaS、DevOps、微服務(wù)等。獲得紅帽RHCA Level 5認(rèn)證、RHCE認(rèn)證。獲得ITIL V3、Cobit5、TOGAF、C-STAR/TOGAF(鑒定級(jí))相關(guān)認(rèn)證。通過“大魏分享(david-share)”微信公眾號(hào),分享了很多項(xiàng)目實(shí)踐中的經(jīng)驗(yàn)。 郭躍軍 目前就職于VMware,擔(dān)任Solutions Engineer。曾任職于紅帽擔(dān)任PaaS咨詢顧問、AWS顧問服務(wù)團(tuán)隊(duì)擔(dān)任云架構(gòu)咨詢顧問,熟悉私有云和公有云生態(tài)。從2015年接觸容器技術(shù)開始,一直奮戰(zhàn)在PaaS建設(shè)一線,參與了很多OpenShift項(xiàng)目的競(jìng)標(biāo)、PoC、咨詢和落地實(shí)施,幫助很多企業(yè)實(shí)現(xiàn)了數(shù)字化轉(zhuǎn)型。經(jīng)過多年的技術(shù)積累和項(xiàng)目歷練,在PaaS建設(shè)運(yùn)維、DevOps咨詢落地以及微服務(wù)改造遷移等方面有豐富的經(jīng)驗(yàn),并一直保持著對(duì)開源技術(shù)、云原生技術(shù)進(jìn)行深入研究的熱情。
贊譽(yù)
推薦序 再版前言 致謝 作者介紹 第1章 通過OpenShift實(shí)現(xiàn)企業(yè)的 數(shù)字化轉(zhuǎn)型1 1.1 企業(yè)進(jìn)行數(shù)字化轉(zhuǎn)型的必要性1 1.2 企業(yè)數(shù)字化轉(zhuǎn)型之PaaS2 1.3 企業(yè)數(shù)字化轉(zhuǎn)型之DevOps3 1.3.1 從瀑布式開發(fā)到敏捷開發(fā)3 1.3.2 從敏捷開發(fā)到DevOps4 1.3.3 洛克希德·馬丁公司實(shí)施 DevOps的收益5 1.4 企業(yè)數(shù)字化轉(zhuǎn)型之微服務(wù)6 1.4.1 微服務(wù)架構(gòu)簡(jiǎn)介6 1.4.2 微服務(wù)架構(gòu)的主要類型7 1.4.3 企業(yè)實(shí)施微服務(wù)架構(gòu)的收益和原則7 1.5 PaaS、DevOps與微服務(wù)的關(guān)系8 1.6 企業(yè)數(shù)字化轉(zhuǎn)型的實(shí)現(xiàn)8 1.6.1 什么是云原生應(yīng)用8 1.6.2 企業(yè)數(shù)字化轉(zhuǎn)型之路9 1.7 本章小結(jié)11 第2章 OpenShift技術(shù)解密及架構(gòu)設(shè)計(jì)12 2.1 OpenShift與Kubernetes的關(guān)系12 2.1.1 容器發(fā)展史12 2.1.2 OpenShift發(fā)展簡(jiǎn)史14 2.1.3 OpenShift對(duì)Kubernetes的增強(qiáng)14 2.1.4 OpenShift對(duì)Kubernetes 生態(tài)的延伸17 2.2 OpenShift的架構(gòu)介紹與規(guī)劃20 2.2.1 OpenShift的邏輯架構(gòu)20 2.2.2 OpenShift的技術(shù)架構(gòu)21 2.2.3 OpenShift的部署架構(gòu)規(guī)劃54 2.3 本章小結(jié)107 第3章 基于OpenShift構(gòu)建企業(yè)級(jí)PaaS平臺(tái)108 3.1 OpenShift部署架構(gòu)參考108 3.2 OpenShift部署與建設(shè)要點(diǎn)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é)點(diǎn)擴(kuò)容158 3.4 OpenShift集群的升級(jí)161 3.4.1 OpenShift的升級(jí)策略161 3.4.2 OpenShift的在線升級(jí)162 3.4.3 OpenShift的離線升級(jí)163 3.5 本章小結(jié)165 第4章 OpenShift在企業(yè)中的開發(fā)實(shí)踐166 4.1 開發(fā)人員的關(guān)注點(diǎn)166 4.2 應(yīng)用向OpenShift容器化遷移的方法167 4.2.1 OpenShift應(yīng)用準(zhǔn)入條件167 4.2.2 應(yīng)用容器化遷移流程167 4.2.3 應(yīng)用容器化方法168 4.2.4 制作容器鏡像的實(shí)踐169 4.2.5 本地構(gòu)建實(shí)現(xiàn)應(yīng)用容器化174 4.2.6 S2I實(shí)現(xiàn)應(yīng)用容器化179 4.3 OpenShift上應(yīng)用部署實(shí)踐195 4.3.1 OpenShift上多種應(yīng)用部署方式對(duì)比195 4.3.2 Deployments與Deployment Config的對(duì)比199 4.3.3 自定義指標(biāo)實(shí)現(xiàn)水平擴(kuò)容200 4.4 OpenShift上部署有狀態(tài)應(yīng)用201 4.4.1 StatefulSet簡(jiǎn)介202 4.4.2 OpenShift部署有狀態(tài)應(yīng)用實(shí)踐203 4.4.3 在OpenShift上統(tǒng)一管理虛擬機(jī)207 4.5 從零開發(fā)Operator209 4.5.1 開發(fā)Operator的要點(diǎn)209 4.5.2 開發(fā)一個(gè)Ansible Operator210 4.6 本章小結(jié)217 第5章 OpenShift在企業(yè)中的運(yùn)維實(shí)踐218 5.1 運(yùn)維人員的關(guān)注點(diǎn)218 5.2 OpenShift運(yùn)維指導(dǎo)218 5.3 RHCOS的架構(gòu)與運(yùn)維實(shí)踐219 5.3.1 RHCOS修改配置的幾種方法219 5.3.2 Day1配置展示:通過指定Ignition配置來設(shè)定RHCOS的配置220 5.3.3 Day2配置展示:通過MachineConfig方式修改RHCOS的配置221 5.4 OpenShift修改配置后的自動(dòng)重啟224 5.5 OpenShift中的證書225 5.6 OpenShift運(yùn)維技巧簡(jiǎn)介228 5.7 OpenShift多網(wǎng)絡(luò)平面的選擇與配置232 5.7.1 Macvlan靜態(tài)IP地址配置方法232 5.7.2 Macvlan動(dòng)態(tài)分配IP地址配置方法236 5.8 OpenShift中Pod的限速238 5.9 OpenShift中項(xiàng)目無法被刪除問題239 5.10 OpenShift集群性能優(yōu)化241 5.11 OpenShift安全實(shí)踐245 5.11.1 主機(jī)安全246 5.11.2 OpenShift平臺(tái)安全246 5.11.3 鏡像安全248 5.11.4 容器運(yùn)行安全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 應(yīng)用非標(biāo)準(zhǔn)輸出日志采集276 5.14 OpenShift備份恢復(fù)與容災(zāi)280 5.14.1 備份容災(zāi)概述280 5.14.2 OpenShift備份280 5.14.3 容災(zāi)設(shè)計(jì)287 5.15 OpenShift的多集群管理289 5.16 本章小結(jié)291 第6章 OpenShift在公有云上的實(shí)踐292 6.1 OpenShift在公有云和私有云上的區(qū)別292 6.2 OpenShift在公有云上的架構(gòu)模型294 6.2.1 單個(gè)PaaS共享架構(gòu)模型294 6.2.2 公有云服務(wù)自維護(hù)架構(gòu)模型296 6.2.3 控制節(jié)點(diǎn)托管架構(gòu)模型297 6.2.4 公有云租戶獨(dú)享PaaS架構(gòu)模型298 6.3 OpenShift在公有云上的部署方式299 6.4 OpenShift在AWS上的實(shí)踐299 6.4.1 AWS服務(wù)簡(jiǎn)介300 6.4.2 OpenShift在AWS上的實(shí)踐301 6.5 OpenShift與IaaS的集成322 6.6 OpenShift實(shí)現(xiàn)混合云架構(gòu)324 6.7 本章小結(jié)326 第7章 在OpenShift上實(shí)現(xiàn)DevOps327 7.1 DevOps的適用場(chǎng)景327 7.2 DevOps的實(shí)現(xiàn)路徑328 7.2.1 組織與角色329 7.2.2 平臺(tái)與工具330 7.2.3 流程與規(guī)范332 7.2.4 文化與持續(xù)改進(jìn)334 7.2.5 總結(jié)334 7.3 基于OpenShift實(shí)現(xiàn)CI/CD的幾種方式335 7.3.1 使用自定義的S2I模板340 7.3.2 自定義模板實(shí)現(xiàn)Binary部署343 7.3.3 在源碼外構(gòu)建Pipeline349 7.3.4 在源碼內(nèi)構(gòu)建Pipeline352 7.3.5 Tekton實(shí)現(xiàn)云原生構(gòu)建354 7.4 在OpenShift上實(shí)現(xiàn)持續(xù)交付361 7.4.1 OpenShift上的持續(xù)交付工具介紹362 7.4.2 基于Jenkins實(shí)現(xiàn)持續(xù)交付372 7.4.3 基于Tekton實(shí)現(xiàn)持續(xù)交付383 7.5 本章小結(jié)389 第8章 DevOps在企業(yè)中的實(shí)踐390 8.1 成功實(shí)踐DevOps的關(guān)鍵要素390 8.1.1 定義全景視圖和目標(biāo)390 8.1.2 標(biāo)準(zhǔn)化的流程和組織391 8.1.3 建立DevOps基石:自動(dòng)化391 8.1.4 協(xié)同工作的文化392 8.2 某大型客戶DevOps案例分析392 8.2.1 客戶現(xiàn)狀及項(xiàng)目背景392 8.2.2 DevOps落地實(shí)踐393 8.2.3 實(shí)踐收益469 8.3 本章小結(jié)470 第9章 基于OpenShift構(gòu)建云原生471 9.1 什么是云原生應(yīng)用471 9.2 輕量級(jí)應(yīng)用服務(wù)器的選擇472 9.2.1 輕量級(jí)的應(yīng)用服務(wù)器472 9.2.2 如何將應(yīng)用遷移到輕量級(jí)應(yīng)用服務(wù)器473 9.3 云原生的應(yīng)用開發(fā)框架:Quarkus475 9.3.1 傳統(tǒng)Java的困境475 9.3.2 GraalVM的興起476 9.3.3 云原生Java:Quarkus477 9.3.4 編譯和部署一個(gè)Quarkus應(yīng)用479 9.3.5 Quarkus的熱加載484 9.3.6 在OpenShift中部署Quarkus應(yīng)用程序486 9.3.7 為Quarkus應(yīng)用添加Rest Client擴(kuò)展490 9.3.8 Quarkus應(yīng)用的容錯(cuò)能力494 9.3.9 Quarks的事務(wù)管理 497 9.3.10 Spring Boot應(yīng)用向Quarkus的遷移498 9.4 云原生分布式集成:Camel-K499 9.5 云原生的捕獲數(shù)據(jù)更改:Debezium503 9.5.1 Debezium項(xiàng)目介紹503 9.5.2 Debezium的功能展示504 9.6 云原生的業(yè)務(wù)流程自動(dòng)化:Kogito509 9.7 云原生Serverless:Knative515 9.7.1 Knative簡(jiǎn)介515 9.7.2 OpenShift Serverless516 9.7.3 OpenShift Serverless的安裝518 9.7.4 OpenShift Serverless的藍(lán)綠發(fā)布520 9.7.5 OpenShift Serverless的事件觸發(fā)524 9.8 本章小結(jié)526 第10章 微服務(wù)在OpenShift上的落地527 10.1 微服務(wù)介紹527 10.1.1 微服務(wù)的特點(diǎn)與優(yōu)勢(shì)527 10.1.2 微服務(wù)架構(gòu)528 10.1.3 企業(yè)對(duì)微服務(wù)治理的需求529 10.2 Spring Cloud在OpenShift上的落地530 10.2.1 Spring Cloud在OpenShift上的實(shí)現(xiàn)與原生實(shí)現(xiàn)的不同530 10.2.2 Spring Cloud在OpenShift上的實(shí)現(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 基于目標(biāo)端的灰度/藍(lán)綠發(fā)布566 10.4.3 微服務(wù)的灰度上線569 10.4.4 微服務(wù)的熔斷572 10.4.5 微服務(wù)的黑名單574 10.5 對(duì)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è)應(yīng)用向Istio遷移588 10.6.1 使用本地構(gòu)建方式將應(yīng)用遷移到Istio的步驟588 10.6.2 三層微服務(wù)向Istio中遷移展示590 10.7 Istio生產(chǎn)使用建議595 10.7.1 Istio的性能指標(biāo)596 10.7.2 Istio的運(yùn)維建議597 10.8 基于OpenShift實(shí)現(xiàn)的微服務(wù)總結(jié)599 10.9 本章小結(jié)601
你還可能感興趣
我要評(píng)論
|