Kubernetes、OpenShift和IBM的簡(jiǎn)史

原文標(biāo)題:A brief history of Kubernetes, OpenShift, and IBM
原文鏈接:https://developer.ibm.com/blogs/a-brief-history-of-red-hat-openshift/
作者:Anton McConville, Olaph Wagoner
發(fā)布日期:2019年8月1日

最近,IBM公有云上推出了紅帽的OpenShift服務(wù),這引發(fā)了我對(duì)它的起源以及它為何如此受開發(fā)人員歡迎的好奇心。在最近的KubeCon會(huì)議上,坐我旁邊聊天的或在午餐時(shí)碰到的許多開發(fā)人員都提到他們是如何使用OpenShift的。我從開發(fā)人員那里了解到,金融機(jī)構(gòu)正在使用OpenShift對(duì)交易進(jìn)行分析,零售商正在使用OpenShift為他們的客戶創(chuàng)造新的體驗(yàn)。

OpenShift是一個(gè)面向混合云的企業(yè)級(jí)Kubernetes應(yīng)用平臺(tái)。現(xiàn)在,IBM公有云將它作為托管解決方案或本地私有平臺(tái)即服務(wù)(PaaS)提供。OpenShift是在紅帽企業(yè)Linux(Red Hat Enterprise Linux)的基礎(chǔ)上,圍繞容器技術(shù)構(gòu)建的,由Kubernetes進(jìn)行容器編排和管理。

隨著云計(jì)算的發(fā)展,OpenShift成為了最受歡迎的應(yīng)用開發(fā)和部署平臺(tái)之一,贏得了開發(fā)者們基于價(jià)值的尊重。隨著云應(yīng)用的開發(fā)對(duì)我們來說變得越來越“正常”,作為創(chuàng)建正確解決方案的工具箱中的又一件新工具,考慮OpenShift的合適定位是很有趣的事情。OpenShift可以與傳統(tǒng)的內(nèi)部應(yīng)用軟件、云函數(shù)服務(wù)(Cloud functions)、Cloud Foundry或物理機(jī)混合使用。

在這篇博客文章中,我和我的同事Olaph Wagoner將回溯過去,搞清楚OpenShift的發(fā)展歷史。我們也會(huì)展望OpenShift在基于Kubernetes的企業(yè)級(jí)應(yīng)用程序開發(fā)領(lǐng)域的發(fā)展前景。

下圖展示了OpenShift、IBM和Kubernetes的時(shí)間線:

OpenShift、IBM和Kubernetes的時(shí)間線

發(fā)展早期的OpenShift: 2011-2013

OpenShift于2011年首次推出,依賴于Linux容器來部署和運(yùn)行用戶應(yīng)用程序,正如Joe Fernandes在《紅帽為什么為OpenShift選擇Kubernetes》(Why Red Hat Chose Kubernetes for OpenShift) 一文中所描述的那樣。

OpenShift V1和V2使用紅帽自己的平臺(tái)專有的容器運(yùn)行時(shí)環(huán)境和容器編排引擎作為基礎(chǔ)。

然而,OpenShift的故事開始于它正式發(fā)布之前。OpenShift的一部分來自于紅帽2010年11月宣布的對(duì)Makara的收購(gòu)。那次收購(gòu)提供了作為操作系統(tǒng)之上抽象層的軟件組件,包括PHP和Java應(yīng)用運(yùn)行時(shí)環(huán)境、Tomcat或JBoss應(yīng)用服務(wù)器,以及Apache Web服務(wù)器。

早期的OpenShift使用稱為“齒輪”(gears)的專有容器技術(shù)。OpenShift的節(jié)點(diǎn)包括了某種形式的容器化。“齒輪”的隱喻即基于容器的本質(zhì)。OpenShift將獨(dú)立的集群稱之為“齒輪”:能夠作為一個(gè)整個(gè)機(jī)構(gòu)的一部分協(xié)同工作的東西。單個(gè)“齒輪”與某個(gè)特定用戶相關(guān)聯(lián)。為了用這些“齒輪”制作模板,OpenShift使用了從Makara獲得的“墨盒”(cartridge)技術(shù)。

OpenShift本身直到2012年才正式開源。2013年6月,OpenShift V2發(fā)布,帶來了cartridge格式的改變。

Docker改變了一切

Docker是由一家名為dotCloud的公司發(fā)起的一個(gè)項(xiàng)目,于2013年3月作為開源軟件推出。Docker的出現(xiàn)讓容器技術(shù)變得流行,它使得開發(fā)者能夠利用現(xiàn)有的技能在這個(gè)新平臺(tái)上用優(yōu)雅的工具進(jìn)行開發(fā)。

紅帽是Docker技術(shù)的早期采用者,于2013年9月即宣布與Docker的合作。2014年12月,IBM也與Docker建立了自己的戰(zhàn)略伙伴關(guān)系。多個(gè)IBM的工程師從項(xiàng)目的早期開始就一直在為以Docker為代表的多個(gè)基礎(chǔ)容器技術(shù)項(xiàng)目貢獻(xiàn)代碼。

Kubernetes的出現(xiàn)

Kubernetes源自2014年谷歌的開發(fā)工作,到目前為止它已經(jīng)成為管理容器的標(biāo)準(zhǔn)方式。

雖然Kubernetes最初是由谷歌設(shè)計(jì)的,但現(xiàn)在它是由云原生計(jì)算基金會(huì)(CNCF)維護(hù)的開源項(xiàng)目,紅帽和IBM都為Kubernetes貢獻(xiàn)了大量的代碼。

根據(jù)kubernetes.io的說法,Kubernetes的目標(biāo)旨在提供一個(gè)跨主機(jī)集群的“應(yīng)用程序容器的自動(dòng)部署、擴(kuò)展和運(yùn)維系統(tǒng)”。它可以支持包括Docker在內(nèi)的一系列容器工具。

使用容器,你可以進(jìn)入模塊化的應(yīng)用程序設(shè)計(jì),其中數(shù)據(jù)庫(kù)是獨(dú)立的,并且你可以擴(kuò)展應(yīng)用程序而無需考慮單個(gè)機(jī)器的擴(kuò)展。

Kubernetes是另一個(gè)IBM作為早期貢獻(xiàn)者參與的開源項(xiàng)目。在下圖中,你可以看到與容器技術(shù)相關(guān)的多個(gè)項(xiàng)目:Docker、Kubernetes和Istio中貢獻(xiàn)度排名前5的組織,以及紅帽和IBM的相應(yīng)貢獻(xiàn)度排名情況。它強(qiáng)調(diào)了容器技術(shù)對(duì)IBM的重要性,以及IBM在這些開源項(xiàng)目中的工作量。

IBM對(duì)開源容器技術(shù)的貢獻(xiàn)情況

OpenShift V3.0: 開放和標(biāo)準(zhǔn)

紅帽在2014年8月宣布打算在OpenShift V3中使用Docker。在幕后,從V2到V3的跳躍是相當(dāng)大的。OpenShift從使用gears和cartridges發(fā)展到容器和鏡像。為了編排和調(diào)度容器鏡像,紅帽從V3開始正式使用Kubernetes作為核心技術(shù)平臺(tái)。

開發(fā)者們被Kubernetes所吸引,對(duì)其興趣與日俱增的主要原因如下:

  • Kubernetes使用Pod將一個(gè)或多個(gè)容器作為原子單元部署

  • 通過服務(wù)(Services)可以使用固定的地址訪問一組Pod,并且可以使用集成的基于IP和DNS的服務(wù)發(fā)現(xiàn)將這些服務(wù)鏈接在一起

  • 復(fù)制控制器(Replication controllers)確保指定數(shù)量的Pod的始終運(yùn)行,并使用標(biāo)簽(Labels)來標(biāo)識(shí)Pod和其它Kubernetes對(duì)象

  • 強(qiáng)大的網(wǎng)絡(luò)模型支持對(duì)容器的跨主機(jī)管理

  • 存儲(chǔ)編排能力允許你在容器中運(yùn)行無狀態(tài)和有狀態(tài)服務(wù)

  • 簡(jiǎn)化的編排模型可以讓應(yīng)用程序快速運(yùn)行,而不需要復(fù)雜的兩層調(diào)度器

  • Kubernetes的架構(gòu)設(shè)計(jì)是基于對(duì)開發(fā)人員和運(yùn)維人員的需求不同的理解,并且將雙方的需求都考慮在內(nèi),這避免了為折衷而犧牲任何一方的情況

OpenShift引入了強(qiáng)大的用戶界面,通過源代碼到鏡像(Source-To-Image )和管道(pipelines)技術(shù)快速創(chuàng)建和部署應(yīng)用程序。Kubernetes之上的這些附加層簡(jiǎn)化并吸引了新的開發(fā)者受眾。IBM也為構(gòu)建OpenShift的關(guān)鍵開源組件貢獻(xiàn)了大量源代碼。

下圖展示了OpenShift使用Kubernetes的發(fā)展歷史:

OpenShift和Kubernetes的時(shí)間線

OpenShift V4.0和未來

紅帽顯然處于容器技術(shù)發(fā)展的前沿,在CNCF項(xiàng)目上的貢獻(xiàn)僅次于谷歌。紅帽最近的另一項(xiàng)成就是2018年1月收購(gòu)了CoreOS。CoreOS的旗艦產(chǎn)品是一款輕量級(jí)的Linux操作系統(tǒng),旨在運(yùn)行容器化的應(yīng)用程序。紅帽在OpenShift V4中將其作為“紅帽企業(yè)Linux CoreOS”(Red Hat Enterprise Linux CoreOS)推出。

這只是V4中許多激動(dòng)人心的進(jìn)展之一。如上圖所示,OpenShift服務(wù)網(wǎng)格將Istio的監(jiān)控能力與Jaeger和Kiali的顯示能力相結(jié)合,還加入了Knative無服務(wù)器的支持,以及使用Kubernetes Operator來實(shí)現(xiàn)應(yīng)用程序管理的自動(dòng)化。

IBM和紅帽在容器技術(shù)領(lǐng)域的發(fā)展之路也在這里匯合。IBM也是Istio、KnativeTekton開源項(xiàng)目的主要貢獻(xiàn)者。它們將會(huì)是未來10年基于容器的企業(yè)級(jí)應(yīng)用開發(fā)的核心技術(shù)。

OpenShift V4.0是近期剛剛發(fā)布的。IBM公有云上的紅帽O(jiān)penShift托管服務(wù)是IBM和紅帽合作整合OpenShift和IBM Cloud Kubernetes服務(wù)的努力。更多關(guān)鍵信息,請(qǐng)查看之前的時(shí)間線配圖。

結(jié)論

研究OpenShift的起源和歷史很有趣。將OpenShift的歷史作為鏡鑒,我們看到了軟件開發(fā)的這10年確實(shí)是以容器為中心大發(fā)展的10年。

令人印象深刻的是,在過去10年中紅帽公司投入了大量的工程資源和精力、專注和驅(qū)動(dòng)力來創(chuàng)建OpenShift這樣一個(gè)引人注目的容器平臺(tái)。IBM也同樣對(duì)這些技術(shù)非常感興趣。

我們期待著在未來的數(shù)年中學(xué)習(xí)和使用這些云技術(shù)來構(gòu)建新的應(yīng)用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 內(nèi)容來源:本文由IT大咖說(WeChat_ID:itdakashuo)轉(zhuǎn)自數(shù)人云(ID:dmesos),好文請(qǐng)多支...
    IT大咖說閱讀 1,897評(píng)論 0 16
  • 秋意濃,冬日若影若現(xiàn)。。。 街頭掉落的枯葉,被風(fēng)吹走。 行走在街頭,涼風(fēng)習(xí)習(xí),一眼望去,街口一片金黃。行人匆匆的腳...
    高冷范的逗比閱讀 344評(píng)論 0 1
  • 好久沒去爺爺奶奶那兒。 才注意到奶奶耳朵真的特別背了,我不知道從什么時(shí)候開始,說話要說很大聲,還要擔(dān)心會(huì)不會(huì)吵醒睡...
    安遷Vacuum閱讀 252評(píng)論 0 1
  • 三月 文/旅行者 她用肢體證明草長(zhǎng)鶯飛 桃花開的靈動(dòng) 醉了江南 油菜花走過阡陌 用一縷金黃涂抹田野 玉蘭的白穿過手...
    劉少漢閱讀 192評(píng)論 0 1

友情鏈接更多精彩內(nèi)容