關于我們
書單推薦
新書推薦
|
OpenShift云原生架構 原理與實踐 讀者對象:適讀人群 :負責企業(yè)數(shù)字化轉型的CTO/CIO/CDO,或者信息技術總監(jiān)等 開源社區(qū)、開源云計算的貢獻者和愛好者 云原生技術愛好者、架構師 PaaS平臺從業(yè)者、云計算愛好者 OpenShift實施部署工程師、運維工程師 DevOps或CI/CD實踐者 云原生應用開發(fā)工程師、云原生應用運維工程師 微服務、Serverless技術愛好者 云原生數(shù)據(jù)科學愛好者、大數(shù)據(jù)工程師 對云計算進行研究實踐的科研院校學生或教師
全書共8章,分為兩個部分:第一部分 架構實踐篇(第1-5章)這部分主要講解了PaaS平臺、OpenShift的架構原理、部署實踐原理、集群運維與管理、鏡像構建與應用部署、持續(xù)集成與DevOps等內容。第二部分 云原生應用篇(第6-8章)這部分主要從生產實踐的角度講解了Service Mesh、Serverless和Spark在OpenShift上的實踐。
(1)本書3位作者都有超10年的IT行業(yè)從業(yè)經驗,是云計算和OpenShift領域的資深專家和布道者,有較大的行業(yè)影響力。
(2)本書是3位作者在云計算和數(shù)字化轉型領域的工程經驗總結。 (3)本書得到了IBM官方專家以及其他4位云計算和數(shù)字化轉型領域的專家聯(lián)袂推薦。 (4)深入剖析OpenShift架構設計、實現(xiàn)原理、集群的部署和運維,以及基于PaaS平臺的數(shù)字化轉型 (5)深度講解基于OpenShift的云原生架構,為以微服務、DevOps、Service Mesh、Serverless和Spark為核心構建企業(yè)云原生技術平臺提供詳盡指導
Preface 前 言
為什么要寫這本書 “未來已來,只是尚未流行! ——威廉·吉布森 查爾斯·狄更斯的《雙城記》中有句耳熟能詳?shù)拿裕骸斑@是一個最好的時代,也是一個最壞的時代!弊鳛榧夹g從業(yè)者,在這個數(shù)字化浪潮和技術變革接連發(fā)生的時代,我對這句話感慨頗深!當前,全社會都在經歷新型數(shù)字經濟基礎設施的解耦、重構,也正在經歷一場技術架構的大遷徙,我們的經濟基礎設施正在由傳統(tǒng)IT架構向云計算架構體系遷移,以云計算為核心的數(shù)字化轉型正在席卷全球,各行各業(yè)都在邁向數(shù)字化和智能化經濟時代。伴隨著我國極高的消費端數(shù)字化普及程度,復雜多變、個性需求高、體驗至上和以用戶為中心的商業(yè)模式,正在倒逼供給側和產業(yè)端向數(shù)字化和智能化轉型,而數(shù)字化時代需要面臨的消費者主權崛起及其帶來的復雜商業(yè)系統(tǒng),則要求我們必須基于云計算架構、基于新興技術群,對傳統(tǒng)商業(yè)系統(tǒng)基礎設施進行敏捷化和智能化的重構升級,以實現(xiàn)企業(yè)在應對復雜商業(yè)系統(tǒng)的多變性和不確定性時,具有實時響應和精準決策的能力。事實上,縱觀人類社會的發(fā)展史,每一次產業(yè)革命的到來,無不以基礎設施的更新、迭代和重構為代價。為此,我們的IT基礎設施經歷了物理機、虛擬化、云計算、容器,直至無服務器計算的發(fā)展,而與之對應的應用架構也經歷了單體、多層、SOA、微服務到函數(shù)計算的發(fā)展。 面對商業(yè)系統(tǒng)的日趨復雜和技術變革的持續(xù)演進,當前階段,我們應該聚焦的不是敷衍、無視技術的進步和傳統(tǒng)基礎設施的臃腫落后,不是猶豫、徘徊是否擁抱云計算,也不是在自我封閉中量化、評估數(shù)字化轉型的風險和收益,而是應該思考如何利用新技術快速構筑企業(yè)新型競爭力,如何以最快捷、最穩(wěn)健和最敏捷的方式走向云原生時代,更應該思考如何以云計算為核心,以新興技術群為能力,解耦并重構傳統(tǒng)基礎設施,進而邁向智能化和數(shù)字化時代。為了實現(xiàn)這些目標,企業(yè)需要聚合云計算、大數(shù)據(jù)、人工智能、區(qū)塊鏈、IoT、邊緣計算和5G通信等新興前沿技術,打造企業(yè)數(shù)字化轉型賦能平臺、技術中臺和創(chuàng)新引擎。為此,企業(yè)級云原生PaaS平臺應運而生。作為云計算三大模式之一的PaaS,在企業(yè)數(shù)字化轉型加劇和云計算發(fā)展進入深水區(qū)的今天,憑借其在應對數(shù)字化時代傳統(tǒng)復雜應用上云、個性需求與日俱增、市場需求敏捷響應、中臺戰(zhàn)略加速落地和新興技術持續(xù)集成等方面的能力,正以強勁增長的態(tài)勢趕超以通用計算能力為主的IaaS和具有特定行業(yè)屬性的SaaS,并真正成為云計算的未來!因此,以云原生PaaS平臺為引擎,構建企業(yè)技術中臺,已成為企業(yè)數(shù)字化轉型的必由之路! 作為以Kubernetes為核心的平臺,OpenShift已成為當下最受歡迎的企業(yè)級云原生PaaS平臺。在企業(yè)數(shù)字化轉型時代,OpenShift的價值和意義,并不在于其作為云計算PaaS服務模式的存在,而在于其拓展并延伸了PaaS的內涵,帶來了全棧融合云時代,實現(xiàn)了應用生命周期的全棧自動化,打通了傳統(tǒng)企業(yè)通往云原生、DevOps、微服務和Serverless等新世界的隧道,而且打通的是一條極為寬敞光明的大道,而在過往,這些都是橫亙在企業(yè)通往數(shù)字化道路上的“珠峰”。通過開源容器云OpenShift,企業(yè)可快速構建自己專屬的云原生PaaS平臺,同時,利用OpenShift強大的云原生技術集成創(chuàng)新能力,企業(yè)能簡單快速地打造具備全棧自動、彈性靈活、敏捷迭代、全域賦能的強大技術中臺,進而重塑企業(yè)全新的數(shù)字經濟基礎設施,最終助推企業(yè)邁向數(shù)字化時代。 鑒于OpenShift在企業(yè)數(shù)字化轉型道路上所展現(xiàn)出來的價值和意義,考慮到當前市面上仍然缺乏一本從終端企業(yè)用戶的實踐經驗出發(fā),并通過實戰(zhàn)方式介紹基于OpenShift構建云原生企業(yè)技術中臺的實踐書籍,我們決定編寫此書,希望能夠幫助企業(yè)用戶深入理解并掌握OpenShift容器云平臺的設計和架構原理。通過云原生架構的講解、應用自動構建部署的介紹,以及DevOps、Service Mesh、Serverless和Spark數(shù)據(jù)科學在OpenShift云原生PaaS平臺上的集成和應用實踐,希望能夠幫助企業(yè)用戶快速構建全域賦能數(shù)字化轉型的技術中臺。同時,也希望本書能夠為開源社區(qū)的技術普及和推廣貢獻微薄之力,為廣大技術愛好者提供實踐參考,為廣大處于數(shù)字化轉型中的企業(yè)用戶提供實踐思路和前行者的經驗。 未來已來,只是尚未流行!希望本書能與大家攜手前行,共迎未來! 讀者對象 負責企業(yè)數(shù)字化轉型的CTO/CIO/CDO,或者信息技術總監(jiān)等 開源社區(qū)、開源云計算的貢獻者和愛好者 云原生技術愛好者、架構師 PaaS平臺從業(yè)者、云計算愛好者 OpenShift實施部署工程師、運維工程師 DevOps或CI/CD實踐者 云原生應用開發(fā)工程師、云原生應用運維工程師 微服務、Serverless技術愛好者 云原生數(shù)據(jù)科學愛好者、大數(shù)據(jù)工程師 對云計算進行研究實踐的科研院校學生或教師 本書特色 本書是一本專注于OpenShift企業(yè)用戶經驗總結的著作,以實現(xiàn)企業(yè)數(shù)字化轉型為最終目標,深度講解并實踐基于OpenShift的云原生架構,以云原生應用的構建部署、DevOps、Service Mesh、Serverless和Spark數(shù)據(jù)科學為核心內容,基于OpenShift構建企業(yè)數(shù)字化轉型云原生技術中臺。通過閱讀本書,讀者就能以云原生方式,簡單輕松地集成當前最主流的開源技術。 如何閱讀本書 本書是企業(yè)數(shù)字化轉型時代基于OpenShift構建企業(yè)云原生技術中臺的匠心之作。作者基于多年在企業(yè)用戶中從事云計算和數(shù)字化轉型的實戰(zhàn)經驗,從開源云原生PaaS平臺OpenShift的架構設計和原理講起,深入介紹了OpenShift平臺的部署及運維實踐,并以實戰(zhàn)方式介紹云原生應用的構建編排和生命周期管理,同時介紹了DevOps、Service Mesh、Serverless和Spark數(shù)據(jù)科學在OpenShift平臺上的云原生實現(xiàn),并以此為基礎構建了企業(yè)數(shù)字化轉型所必需的技術中臺。 閱讀本書之前,讀者應具備一定的云計算知識,并對企業(yè)數(shù)字化轉型的迫切需求和動機具有初步了解,對開源云計算及其相關運維工具,如Linux、OpenStack、Ansible等具有一定的了解,對DevOps、微服務、Serverless和Spark等技術具備概念性的了解。 全書分為8章,各章具體內容如下。 第1章主要介紹了云原生PaaS平臺在企業(yè)數(shù)字化轉型中的關鍵作用,不僅講解了PaaS與云計算、微服務、DevOps、Serverless和云原生之間的關系,PaaS平臺如何賦能企業(yè)數(shù)字化轉型,還對企業(yè)級云原生PaaS平臺OpenShift進行了初步介紹。 第2章深入講解了OpenShift云原生PaaS平臺的架構設計與原理。本章從OpenShift的總體架構講起,詳細闡述了OpenShift內部的網絡架構、路由器、DNS、存儲卷、權限控制和服務目錄等功能組件的實現(xiàn)原理。 第3章系統(tǒng)講述了OpenShift集群的部署與運維實踐,主要介紹了OpenShift集群部署前的準備工作和資源需求,同時介紹了如何針對開發(fā)測試環(huán)境和生產環(huán)境實現(xiàn)OpenShift集群的高可用部署,以及如何對OpenShift集群進行運維管理。 第4章重點講解了基于OpenShift平臺的云原生應用的自動構建與部署,包括對基于OpenShift的云原生應用自動構建與部署的流程、方法,以及OpenShift應用部署資源模板和應用實踐。 第5章介紹了如何在OpenShift上實現(xiàn)云原生DevOps工具鏈,從DevOps發(fā)展背景和歷程講起,詳細介紹了持續(xù)集成工具Jenkins在OpenShift上的云原生實現(xiàn), DevOps工具鏈GitLab、SonarQube和Nexus在OpenShift上的云原生實現(xiàn)及其與Jenkins的集成,并通過實戰(zhàn)方式介紹了如何實現(xiàn)JeeSite應用的DevOps流水線。 第6章主要介紹了微服務架構在OpenShift上的實踐,在介紹傳統(tǒng)微服務架構和云原生微服務架構基礎之上,以新一代微服務架構Service Mesh為主旨,剖析了Istio在OpenShift上的實現(xiàn),以及基于Istio的微服務應用在OpenShift上的實踐,并對Istio的功能特性進行了驗證測試。 第7章重點講解了Serverless架構在OpenShift上的實踐,在詳細介紹了軟件架構演變歷程的基礎之上,深入分析了Service Mesh與云原生、微服務、PaaS和FaaS之間的關系,同時對Serverless的現(xiàn)狀進行了概述,對Knative功能模塊進行了深入分析,對Knative在OpenShift上的實現(xiàn)進行了講解,同時在OpenShift上實現(xiàn)了基于Knative的Serverless應用,并對Knative的功能特性進行了驗證測試。 第8章重點介紹了以Spark為核心的數(shù)據(jù)科學應用及其在OpenShift上的云原生實踐。詳細介紹了Spark計算框架及其與數(shù)據(jù)科學的關系,同時對Spark在Kubernetes上的實現(xiàn)進行了詳細介紹。通過Radanalyticsio項目,詳細介紹了Spark集群在OpenShift上的實現(xiàn)過程,并基于云原生Spark集群,詳細介紹了自然語言和推薦引擎應用案例在OpenShift上的實現(xiàn)過程。 勘誤和支持 在本書的寫作過程中,我們參考了很多OpenShift、Kubernetes和CNCF等官方社區(qū)的資料以及歷屆各種開源技術峰會的討論文檔與視頻,同時也參考了很多開源軟件的官方資料和技術專家的經驗分享,我們誠懇希望能夠為OpenShift愛好者、云原生架構愛好者,以及數(shù)字化轉型從業(yè)者呈現(xiàn)一本理論基礎與應用實踐相結合的參考書籍。但是由于技術變化很快,加之筆者水平有限,書中難免存在不恰當和謬誤觀點,若讀者發(fā)現(xiàn)書中有任何不妥之處,懇請讀者朋友批評指正。另外,鑒于OpenShift版本的迭代更新,本書主要以當前最為穩(wěn)定的OpenShift 3.11為主,并有部分OpenShift 4.2的功能介紹。讀者如果在閱讀過程中有任何問題和意見,懇請將其發(fā)送至郵箱yfc@hzbook.com,我們會認真聽取大家的寶貴意見。我們將實時跟進社區(qū)技術的發(fā)展變化,讀者可通過關注微信公眾號“OpenShift開源社區(qū)”獲取最新的技術文章或者進行意見反饋。 致謝 本書的編寫歷時一年有余,在工作和生活極為繁忙的階段,我仍然堅持每日查閱資料和整理文章,其間得到了招商銀行很多同事和領導的關心,同時也得到了很多前IBM同事和領導的支持,在此一并謝過,正是你們的關心和支持,才使得我在繁忙的工作之余仍然懷著一顆敬畏之心進行寫作。在本書的策劃和寫作期間,機械工業(yè)出版社華章分社的楊福川先生給予了極大的關心和幫助,在此感謝楊福川先生對本書的策劃以及羅詞亮、張錫鵬對全文的審閱校對,正是你們的辛勤付出才有了本書的順利問世。 另外,還要感謝我的妻子楊彩鳳女士在寫作期間對我的照顧與理解,在多少個深夜與凌晨,正是你的理解與支持,我才能全身心投入寫作中。在此也要感謝我的父母,感謝你們的默默養(yǎng)育和辛勤付出。 最后,感謝所有為本書的編寫提供了幫助、支持與鼓勵的朋友們。 山金孝 2020年2月于重慶
山金孝
資深云計算技術專家、架構師,騰訊云TVP、阿里云MVP,F(xiàn)就職于招商局集團數(shù)字化中心,曾就職于招商銀行、IBM和中國移動。開源技術愛好者,云計算推廣、布道與實踐者,國內較早接觸OpenStack和OpenShift的一線技術專家,目前致力于開源云原生技術的研究、推廣與實踐工作。作為由傳統(tǒng)IT架構轉型為云計算領域的技術專家,當前正致力于推動企業(yè)的智能化和數(shù)字化轉型。著有《OpenStack高可用集群》(上、下冊)、《企業(yè)私有云建設指南》等云計算書籍,譯有《精通OpenStack》和《機器學習即服務》等書,在國內外核心期刊發(fā)表過多篇CVPR論文。另外,他還是IBM認證高級技術專家、DB2高級DBA,Oracle認證OCP及Red Hat認證系統(tǒng)工程師,維護有“OpenShift開源社區(qū)”微信公眾號。 潘曉華 資深DevOps實踐專家、運維專家,現(xiàn)為興業(yè)數(shù)金云原生技術專家,曾為招銀云創(chuàng)容器云平臺與DevOps負責人。近10年IT從業(yè)經驗,具有豐富的項目實施、應用架構設計與研發(fā)經驗。多年來深耕敏捷IT和DevOps領域,是開源社區(qū)的積極參與者、貢獻者,以及國內較早接觸OpenShift的一線技術專家,通過技術博客“潘曉華Michael”,積極推動了OpenShift在國內的應用和實踐落地。 劉世民 資深云計算技術專家,現(xiàn)為易航科技云服務事業(yè)部總經理。十幾年IT從業(yè)經驗,曾先后就職于華為、IBM和EMC,擔任過云計算創(chuàng)業(yè)公司CTO。云計算技術愛好者、實踐者和推廣者,樂于總結和分享,維護有“世民談云計算”技術博客和微信公眾號。
目 錄 Contents
前言 第1章 PaaS賦能云原生時代數(shù)字化轉型 1 1.1 PaaS重塑云計算時代 1 1.1.1 PaaS統(tǒng)一云計算架構 1 1.1.2 PaaS構建云計算未來 3 1.1.3 PaaS賦能微服務架構 6 1.1.4 PaaS加速DevOps實踐 7 1.1.5 PaaS構筑云原生時代 9 1.2 PaaS賦能企業(yè)數(shù)字化轉型 12 1.2.1 數(shù)字化轉型的本質 12 1.2.2 PaaS賦能企業(yè)中臺 13 1.2.3 PaaS助力數(shù)字化轉型 15 1.3 企業(yè)級PaaS平臺OpenShift介紹 17 1.3.1 OpenShift及其發(fā)展簡史 17 1.3.2 OpenShift與云原生架構 18 1.3.3 OpenShift與Kubernetes 20 1.4 本章小結 22 第2章 OpenShift架構設計與原理 23 2.1 OpenShift總體架構 23 2.1.1 OpenShift設計哲學 23 2.1.2 OpenShift核心組件 29 2.1.3 OpenShift核心概念 31 2.1.4 OpenShift部署架構 46 2.2 OpenShift網絡之SDN 47 2.2.1 OpenShift SDN網絡配置 48 2.2.2 OpenShift Node節(jié)點上的SDN 49 2.2.3 OpenShift SDN網絡隔離 54 2.2.4 OpenShift典型網絡訪問場景 55 2.3 OpenShift網絡之路由器 62 2.3.1 從集群外訪問OpenShift中的服務 62 2.3.2 OpenShift HAProxy路由器介紹 65 2.3.3 OpenShift路由規(guī)則介紹 67 2.3.4 OpenShift路由服務高可用 74 2.4 OpenShift網絡之DNS 75 2.4.1 OpenShift Pod內部DNS配置 76 2.4.2 OpenShift Node節(jié)點DNS配置 77 2.4.3 OpenShift 集群內DNS查詢流程 79 2.5 OpenShift存儲 81 2.5.1 Docker卷 82 2.5.2 OpenShift存儲卷 84 2.5.3 OpenShift 持久化卷 86 2.5.4 靜態(tài)創(chuàng)建持久化卷 89 2.5.5 動態(tài)創(chuàng)建持久化卷 94 2.6 OpenShift權限控制 99 2.6.1 OpenShift權限概述 99 2.6.2 OpenShift權限認證 101 2.6.3 OpenShift基于角色的權限訪問控制 107 2.6.4 OpenShift安全上下文約束 111 2.7 OpenShift服務目錄 114 2.7.1 OpenShift服務目錄概述 114 2.7.2 OpenShift服務目錄概念理解 116 2.7.3 OpenShift服務目錄使用介紹 117 2.8 本章小結 121 第3章 OpenShift集群部署與運維 123 3.1 OpenShift集群規(guī)劃與部署準備 123 3.1.1 集群軟件版本規(guī)劃 124 3.1.2 集群規(guī)模與資源需求 125 3.1.3 集群高可用架構設計 127 3.1.4 集群主機環(huán)境需求 130 3.1.5 集群主機系統(tǒng)準備 133 3.2 OpenShift開發(fā)測試環(huán)境快速部署 137 3.2.1 OpenShift容器與二進制方式快速啟動 137 3.2.2 OpenShift自定義腳本一鍵自動部署 139 3.2.3 OpenShift開發(fā)測試環(huán)境Minishift 141 3.3 OpenShift集群生產環(huán)境自動部署 144 3.3.1 OpenShift集群部署介紹 144 3.3.2 OpenShift集群自動部署配置 147 3.3.3 OpenShift集群在線自動部署 151 3.3.4 OpenShift集群離線自動部署 154 3.4 OpenShift集群運維與管理 160 3.4.1 OpenShift集群擴容 160 3.4.2 OpenShift集群升級 162 3.4.3 OpenShift集群備份 167 3.4.4 OpenShift集群恢復 172 3.5 本章小結 176 第4章 OpenShift云原生應用構建與部署 177 4.1 OpenShift應用構建與部署概述 177 4.1.1 OpenShift應用構建介紹 177 4.1.2 OpenShift鏡像流介紹 179 4.1.3 OpenShift應用部署介紹 180 4.2 OpenShift應用構建 180 4.2.1 BuildConfig資源對象 181 4.2.2 Docker構建 199 4.2.3 源代碼構建 205 4.2.4 jenkinsPipeline構建 212 4.3 OpenShift應用部署 216 4.3.1 DeploymentConfig資源對象 216 4.3.2 Rolling與Recreate部署 220 4.4 OpenShift資源模板 224 4.4.1 OpenShift資源模板介紹 225 4.4.2 OpenShift資源模板制作與應用實踐 228 4.5 本章小結 232 第5章 OpenShift云原生DevOps構建 233 5.1 DevOps發(fā)展簡介 233 5.1.1 DevOps發(fā)展背景介紹 233 5.1.2 DevOps流水線介紹 237 5.2 Jenkins持續(xù)集成 239 5.2.1 OpenShift云原生部署Jenkins 240 5.2.2 Jenkins OpenShift插件應用介紹 242 5.3 GitLab代碼倉庫 246 5.3.1 OpenShift云原生部署GitLab 247 5.3.2 Jenkins與GitLab在OpenShift上的集成 250 5.4 SonarQube代碼掃描 255 5.4.1 OpenShift云原生部署SonarQube 256 5.4.2 Jenkins與SonarQube在OpenShift上的集成 261 5.5 Nexus制品庫 268 5.5.1 OpenShift云原生部署Nexus 268 5.5.2 Jenkins與Nexus在OpenShift上的集成 270 5.6 構建JeeSite應用DevOps流水線實戰(zhàn) 273 5.7 本章小結 284 第6章 Service Mesh及其在OpenShift上的實踐 285 6.1 傳統(tǒng)微服務架構 285 6.1.1 微服務與SOA 286 6.1.2 Spring Cloud框架 287 6.1.3 Dubbo框架 289 6.1.4 微服務現(xiàn)狀分析 290 6.2 云原生微服務架構 292 6.2.1 Service Mesh 292 6.2.2 Linkerd 294 6.2.3 Enovy 296 6.2.4 Istio 299 6.2.5 Docker、Kubernetes與Istio 302 6.3 Istio在OpenShift上的實現(xiàn) 304 6.3.1 OpenShift集群快速部署與實現(xiàn) 304 6.3.2 OpenShift上部署Istio集群 305 6.3.3 OpenShift上部署Istio微服務 310 6.4 基于OpenShift的Istio功能驗證與測試 314 6.4.1 微服務監(jiān)控與跟蹤 314 6.4.2 微服務流量控制 320 6.4.3 微服務故障注入 328 6.4.4 微服務請求熔斷 332 6.4.5 微服務Egress路由 338 6.4.6 微服務可視化 340 6.5 本章小結 345 第7章 Serverless及其在OpenShift上的實踐 346 7.1 軟件架構演變歷史 346 7.1.1 單體架構 346 7.1.2 SOA架構 347 7.1.3 微服務架構 348 7.1.4 Serverless架構 349 7.2 深入認識Serverless架構 350 7.2.1 Serverless與云原生 350 7.2.2 Serverless與微服務 352 7.2.3 Serverless與PaaS 353 7.2.4 Serverless與FaaS 354 7.3 Serverless發(fā)展現(xiàn)狀 355 7.3.1 AWS Lambda 355 7.3.2 OpenWhisk 357 7.3.3 OpenFaaS 361 7.3.4 Kubeless 362 7.3.5 Serverless現(xiàn)狀分析 363 7.4 Serverless統(tǒng)一平臺Knative 364 7.4.1 構建系統(tǒng)Build 366 7.4.2 服務系統(tǒng)Serving 368 7.4.3 事件系統(tǒng)Eventing 373 7.5 基于OpenShift的Knative實現(xiàn) 378 7.5.1 部署OpenShift 378 7.5.2 部署Istio 380 7.5.3 部署Knative Serving 380 7.5.4 部署Serverless應用 382 7.6 Knative應用驗證與測試 384 7.6.1 事件驅動 384 7.6.2 自動伸縮 386 7.7 本章小結 395 第8章 Spark數(shù)據(jù)科學及其在OpenShift上的實踐 396
你還可能感興趣
我要評論
|