Kubernetes 火了!是時(shí)候扒一扒它的身世了

責(zé)任編輯:editor007

作者:Caicloud

2017-04-13 17:51:34

摘自:雷鋒網(wǎng)

2014 年,Google 公布開源項(xiàng)目 Kubernetes,它由 Joe Beda、Brendan Burns 以及 Craig McLuckie 帶頭創(chuàng)建,并于 2015 年 7 月 21 日正式發(fā)布 Kubernetes v1 0 版本

Kubernetes 火了!是時(shí)候扒一扒它的身世了

2014 年,Google 公布開源項(xiàng)目 Kubernetes,它由 Joe Beda、Brendan Burns 以及 Craig McLuckie 帶頭創(chuàng)建,并于 2015 年 7 月 21 日正式發(fā)布 Kubernetes v1.0 版本。

微軟 Azure在 2014 年便引入 Kubernetes 以及 libswarm,開發(fā)者可以在 Azure 上使用 Kubernetes 管理 Docker 容器。然而,將 Windows 的應(yīng)用運(yùn)行在 Linux 上,或者將 Linux 應(yīng)用運(yùn)行在 Windows 上在當(dāng)時(shí)無法實(shí)現(xiàn)。

2016 年 12 月, Kubernetes 1.5 的發(fā)布,上述 Linux 和 Windows 一起運(yùn)行的夢想終于得以實(shí)現(xiàn)。

2017 年 4 月 11 日,微軟宣布收購容器平臺 DEIS。DEIS 基于 Google 發(fā)布的 Kubernetes 技術(shù)研發(fā)了多款熱門應(yīng)用開發(fā)和管理工具。本次收購再次證明,Kubernets 正迅速成為事實(shí)標(biāo)準(zhǔn)。

2014 年微軟宣布支持 Kubernetes

Kubernetes 眼下已成為眾多容器管理系統(tǒng)核心——比如 CoreOS 公司的商務(wù)平臺 Tectonic。最近,微軟也宣布已將 Kubernetes 整合到其公有云上。

“現(xiàn)在,我們支持 Kubernetes,它會比原來更加好用,并且宣布 Azure 容器服務(wù)的預(yù)發(fā)布版本,”Azure 的計(jì)算總監(jiān),Corey Sanders 在微軟 Azure 發(fā)布的時(shí)候說道,“對 Kubernetes 本地有更高等級的支持,會為容器編排引擎提供了另外一個(gè)開源選擇。”

微軟也支持 Docker Swarm 和 Mesosphere 的 DC/OS,但是似乎 Kubernetes 更加有掌控容器編排界的趨勢。隨著事物的發(fā)展速度變快,Kubernetes 可能并非容器界的唯一一匹快馬,但是它確實(shí)是很多廠商的選擇。它的地位至此,值得深思。

開源軟件公司 Red Hat 的高級產(chǎn)品經(jīng)理,同時(shí)也是決定將 Red Hat 開源 OpenShift PaaS 進(jìn)行標(biāo)準(zhǔn)化的小組成員之一的 Joe Fernandes 對容器管理系統(tǒng)非常了解。

2013 年,該公司想要?jiǎng)?chuàng)建一個(gè)本土的容器管理系統(tǒng),那時(shí),公司看到了 Mesos,并且跟 Google 討論 Kubernetes 的開源計(jì)劃,Joe Fernandes 說,“就功能上來說,Kubernetes 遠(yuǎn)遠(yuǎn)超過 Mesos 和 Marathon。”

Gartner 研究副總裁 Richard Watson 說,“這表明微軟也希望成為 Kubernetes 生態(tài)系統(tǒng)內(nèi)的重要貢獻(xiàn)者。用戶期望 Kubernetes 在 Windows 上正常工作,未來能夠有 Windows 的集群功能,這對混合環(huán)境的 IT 部門很重要。”

Kubernetes 如何從眾多容器編排工具中脫穎而出

但是對于 Fernandes 來說同樣重要的就是 Google 在容器上的繼承,他說,“就像他們之前說的那樣,他們運(yùn)行的所有東西都已容器化。Kubernetes 不是 Borg(Google 的資源編排軟件),但是編寫 Kubernetes 花費(fèi)了他們過去使用 Borg 十幾年的經(jīng)驗(yàn)。

另外一個(gè)很重要的東西就是(或許對于像 Red Hat 這樣的開源公司來說并不意外),Kubernetes 項(xiàng)目現(xiàn)在隸屬于 CNCF 旗下,Google 則是開源項(xiàng)目的贊助商之一(在 Fernandes 看來,這絕對是一個(gè)加分項(xiàng))。“我們在 Kubernetes 開源之前就跟 Google 聊過,但是現(xiàn)在 Kubernetes 項(xiàng)目發(fā)展很快,有很多廠商支持它,它增加新功能的速度非???,能夠運(yùn)行很多不同類型的工作負(fù)載。”Fernandes 說道。

相比之下,他指出,雖然 Mesos 有 Apache 的支持,但是沒有像 Kubernetes 那么多廠商支持。“只有 Mesosphere——雖然有幾個(gè)廠商確實(shí)在云的選擇(比如微軟)上提供了幾個(gè)選項(xiàng)。”

Fernandes 認(rèn)為原因是 Mesos 的代碼庫不容易拓展,也不容易在它上面創(chuàng)建服務(wù)。他說,“我覺得他們的開源社區(qū)做得不太好。”

在他認(rèn)為,Kubernetes 最大的競爭對手是 do-it-yourself 實(shí)現(xiàn)方法。但是現(xiàn)實(shí)就是,容器領(lǐng)域擴(kuò)張速度非常快,這也使得實(shí)現(xiàn)方法不切實(shí)際。

Fernandes 說,“Kubernetes 每年更新 4 次,Docker 每年更新 3-4 次,如果自己動(dòng)手創(chuàng)建這些解決方法會非常耗時(shí)間,所以大多數(shù)企業(yè)都選擇更有效率地創(chuàng)建應(yīng)用以及讓第三方公司來創(chuàng)建編排平臺。”

現(xiàn)在有一些容器編排平臺供你選擇。按照道理來講,Me sos 和 Docker Swarm 短時(shí)間內(nèi)是不會被淘汰掉的。但是 Kubernetes 也有理由繼續(xù)擴(kuò)張式發(fā)展。

目前,類似于像 Tectonic 這樣的平臺,以及完全開源解決方案(比如 OpenShift)都是建立在 Kubernetes 的技術(shù)之上的,未來,會有更多的產(chǎn)品(不僅限于上述兩種產(chǎn)品類型)選擇 Kubernetes 作為底層技術(shù)。

Kubernetes 的優(yōu)勢

Kubernetes 并非市唯一的容器管理平臺(其他還有 Docker Swarm 或 Mesos 等),但它是行業(yè)首選。這是為什么呢?

從一個(gè)高層次角度看,Kubernetes 吸引人的一點(diǎn)是它提供了一個(gè)平臺,實(shí)現(xiàn)容器化應(yīng)用程序的編寫并在各類型云基礎(chǔ)設(shè)施上運(yùn)行。它將公有云與私有云之間的復(fù)雜基礎(chǔ)設(shè)施差異抽象化。并且,Kubernetes 下一步可以讓開發(fā)人員運(yùn)行任何適合在 Kubernetes 運(yùn)行的應(yīng)用程序。Box 的合伙人 Sam Ghods 認(rèn)為只要一個(gè)二進(jìn)制文件可以運(yùn)行,那它就能在 Kubernetes 上運(yùn)行。

使用 Kubernetes,開發(fā)人員可以快速地部署應(yīng)用程序,同時(shí)無須面對傳統(tǒng)平臺所具有的風(fēng)險(xiǎn)(想象一下跨多操作系統(tǒng)環(huán)境的橫向擴(kuò)展)、動(dòng)態(tài)地?cái)U(kuò)展應(yīng)用程序以及更佳的資源分配。

推動(dòng) Kubernetes 的另外一個(gè)原因,是企業(yè)硬件使用率的下降。有些公司報(bào)告說,由于容器的輕量特性以及(相比傳統(tǒng)架構(gòu))更快速殺掉未使用的實(shí)體,對硬件的需求降低了 40-50%。eBay 是 Kubernetes 著名的支持者及用戶,它聲稱在轉(zhuǎn)換到該平臺后服務(wù)器的開銷支出急劇減少。

Kubernetes 的最大的優(yōu)勢之一是,它面向的是社區(qū)而不是一個(gè)技術(shù)規(guī)范,這讓它的功能更加強(qiáng)大。Google 將其作為一個(gè)開源項(xiàng)目發(fā)布,獲得超過 1 千個(gè)社區(qū)貢獻(xiàn)者及 3 萬 4 千個(gè)提交的支持。其社區(qū)比 Mesos(第二大的競爭社區(qū))要大 5 倍,比所有競爭社區(qū)加起來還大。

Kubernetes 的弊端

Kubernetes 在圈內(nèi)廣受贊譽(yù),但是它自身也有缺點(diǎn)。當(dāng)涉及到(大規(guī)模)初始部署的時(shí)候,設(shè)置起來步驟復(fù)雜、操作困難。而且它需要有特殊技能的工程師來操作,這樣的人才在現(xiàn)目前的工程領(lǐng)域里還比較難找。

其次,Kubernetes 對于容器來說,是一個(gè)第三方管理系統(tǒng)。容器所歷經(jīng)的弊端和成長,對 Kubernetes 所提供的服務(wù)也會有影響。

調(diào)度器領(lǐng)域現(xiàn)在缺少 Kubernetes。默認(rèn)設(shè)置下,Kubernetes 規(guī)劃器依賴于由應(yīng)用程序提出的資源分配需求,并不會考慮實(shí)時(shí)消耗情況。這樣操作,每個(gè)節(jié)點(diǎn)上會產(chǎn)生資源碎片。

最后一點(diǎn),能夠在容器中運(yùn)行的負(fù)載領(lǐng)域會限制 Kubernetes 被普及,但是這個(gè)問題 Kubernetes 眼下還無法解決。鑒于崩潰的傾向,很多工程師猶豫要不要在容器中運(yùn)行 “關(guān)鍵任務(wù)” 負(fù)載,畢竟存儲數(shù)據(jù)并不是容器的設(shè)計(jì)初衷。慣例是,大家會使用那些在崩潰時(shí)不會在容器內(nèi)引起宕機(jī)的應(yīng)用程序。

Kubernetes 的未來

即使有這樣那樣的缺點(diǎn),也不阻擋不了像 Goldman Sachs、Box、SAP 和紐約時(shí)報(bào)等公司使用 Kubernetes 的步伐,他們將 Kubernetes 平臺列入了他們下一個(gè)數(shù)據(jù)中心的計(jì)劃。

應(yīng)用程序是很多商務(wù)的血液。很多公司正在努力滿足日益加快的部署時(shí)間和高質(zhì)量應(yīng)用程序的需求。這些需求就是開發(fā)人員為什么要涌向容器的原因。隨著容器技術(shù)的爆發(fā),Kubernetes 在市場中也找好了自己的定位。平臺領(lǐng)域還有很多潛在性能可以挖掘,但是如果規(guī)模變大的還,它是很難管理的。在產(chǎn)品中,初始設(shè)置和大規(guī)模運(yùn)行 Kubernetes 之間存在著巨大的鴻溝。在接下來這一年中,第三方管理平臺之間的競爭將會很激烈。對于 Kubernetes 來說,不偏離它過去所做的成就顯得尤為重要。如果社區(qū)能夠合理地對平臺進(jìn)行擴(kuò)容,那么 Kubernetes 的未來將無可限量。

Kubernetes 2017 發(fā)展趨勢

2016 是 Kubernetes 作為開源容器編排工具在技術(shù)圈瘋狂圈地的一年。世界范圍內(nèi)成千上萬的代碼貢獻(xiàn)者都在爭相為 Kubernetes 貢獻(xiàn)功能。越來越多的公司選擇 Kubernetes 作為最佳工具,實(shí)現(xiàn)在生產(chǎn)環(huán)境中容器化微服務(wù)的高可用。

版本發(fā)布記錄:2016 年 3 月 16 日發(fā)布 1.2 版,7 月 1 日發(fā)布 1.3 版,9 月 27 日發(fā)布 1.4 版,12 月 14 日發(fā)布 1.5 版:

Kubernetes 火了!是時(shí)候扒一扒它的身世了

據(jù)上圖數(shù)據(jù)來看,2016 年 Kubernetes 穩(wěn)定版發(fā)布 34 次,發(fā)布次數(shù)相比 2015 年增加了 112.5%,平均發(fā)布間隔為 11 天。2016 年度,K8S 連同 alpha 版和 beta 版共計(jì)發(fā)布 111 次。

Kubernetes 火了!是時(shí)候扒一扒它的身世了

 ?。↘ubernetes 2017 版本發(fā)布時(shí)間線)

2017 年,Kubernetes 預(yù)計(jì)發(fā)布 4 個(gè)版本:1.6、1.7、1.8 和 1.9。Github 上顯示,1.6 版本將在三月發(fā)布,發(fā)布頻率基本上保持 3 個(gè)月一更的狀態(tài)。

據(jù)悉,很多應(yīng)用使用 GPU 可以提升效率,所以 Kubernetes 上游計(jì)劃在其 1.6 發(fā)行版本中加入 GPU 功能,提升應(yīng)用程序運(yùn)行效率。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號