去年至今,谷歌的開(kāi)源容器技術(shù)應(yīng)用Kubernetes風(fēng)靡云服務(wù)市場(chǎng)。雖然出現(xiàn)過(guò)一次重大的安全漏洞,但依然不減其市場(chǎng)主導(dǎo)地位。長(zhǎng)期被AWS和微軟“壓著打”的谷歌終于有了一個(gè)能抗衡的拳頭產(chǎn)品。難怪一開(kāi)年就吭哧吭哧上馬數(shù)據(jù)中心項(xiàng)目,這是要跟AWS和微軟正面杠上啊。
雖然,快速瀏覽一下Kubernetes頁(yè)面的提交日志就會(huì)發(fā)現(xiàn),人們對(duì)于開(kāi)源容器引擎的貢獻(xiàn)興趣可能正在減退。然而,這樣快速得出的表面認(rèn)識(shí)并不正確。
因?yàn)?,?duì)于核心Kubernetes引擎的投入減少實(shí)際上正表明,谷歌和不斷壯大的Kubernetes社區(qū)正在做幾乎所有正確的事情,以確保其長(zhǎng)期的成功。主要有哪些呢?
不是Windows,Kubernetes沒(méi)有核心壟斷
在過(guò)去,云平臺(tái)通過(guò)向核心添加功能獲得強(qiáng)大的功能。例如,許多初創(chuàng)公司發(fā)現(xiàn)自己的數(shù)據(jù)資產(chǎn)被微軟給毀掉了,因?yàn)槲④泴⑦@些功能都變成了Windows的一個(gè)功能。但那是過(guò)去,現(xiàn)在不同。
Kubernetes本身已經(jīng)給人留下了深刻的印象,尤其是它管理新功能的方式。正如Ant Stanley所指出的,這種“承諾日志”正在逐漸減少,部分原因是“這是項(xiàng)目成熟和穩(wěn)定的跡象,而不是興趣的下降”。“對(duì)于許多基礎(chǔ)設(shè)施項(xiàng)目,”Christopher Schmidt補(bǔ)充道,“這將會(huì)是一個(gè)極其健康穩(wěn)定的發(fā)展圖表。”
他是對(duì)的,但這個(gè)圖表之所以“健康”還有另一個(gè)原因,那就是 Kubernetes產(chǎn)品線對(duì)核心平臺(tái)的看法。
正如Kubernetes的開(kāi)發(fā)者Jaice Singer DuMars所強(qiáng)調(diào)的那樣,“通過(guò)云服務(wù)供應(yīng)商提取這樣的東西,我們?cè)噲D從核心提取東西,而不是從導(dǎo)入。”云原生計(jì)算基金會(huì)主管Chris Aniszczyk對(duì)此表示贊同,他補(bǔ)充說(shuō):“許多令人興奮的事情都發(fā)生在Kubernetes核心回購(gòu)之外。像CSI這樣的東西顯然是在核心回購(gòu)之外開(kāi)發(fā)的。簡(jiǎn)而言之,Kubernetes并不需要將所有的好東西(例如Istio和Helm)作為功能緊密地固定在核心中,這是一個(gè)共享平臺(tái)。正如Jesse Ezell所言,關(guān)鍵是要讓它周圍的其他東西也能生長(zhǎng)。
換句話說(shuō),這意味著“Kubernetes已經(jīng)成為一個(gè)繁榮的生態(tài)系統(tǒng)的中心,但是云原生之旅還有許多其它令人興奮的地方。”
如果所有的云服務(wù)平臺(tái)團(tuán)隊(duì)都能夠這樣想就好了。
分散還是集中,Kubernetes有個(gè)好方法
先要明確一點(diǎn):分散式的平臺(tái)構(gòu)建方法并不典型。大多數(shù)公司以及開(kāi)源項(xiàng)目,比如openstack,并不能幫到自身。增強(qiáng)核心的吸引力,讓更多的外圍元素能聚攏過(guò)來(lái),這樣似乎更容易、更有效。然而,在培育云服務(wù)社區(qū)方面,這是一種非常糟糕的方式。
相比之下,Kubernetes似乎在社區(qū)方面做的一切都是正確的。這是它能成功取代那些更早進(jìn)入容器市場(chǎng)(比如Mesosphere和Docker)的公司的一個(gè)重要原因。這也是為什么每個(gè)人都將自己的容器財(cái)富跟Kubernetes捆綁在一起,不管是AWS和谷歌這樣的云巨頭,還是VMware和Oracle這樣的數(shù)據(jù)基礎(chǔ)設(shè)施供應(yīng)商。
這就是為什么我們應(yīng)該為Kubernetes的創(chuàng)始人谷歌鼓掌。谷歌在很多方面都做得很好,但是讓Kubernetes社區(qū)運(yùn)營(yíng)如此長(zhǎng)久地保持正確是不可思議的。
這也是為什么我們應(yīng)該提醒在開(kāi)源領(lǐng)域日益活躍的AWS,應(yīng)該從谷歌那里學(xué)習(xí)如何啟動(dòng)和促進(jìn)開(kāi)源項(xiàng)目。它有一個(gè)很好的機(jī)會(huì)使用其Firecracker應(yīng)用來(lái)實(shí)現(xiàn)這一點(diǎn),這是一種用于運(yùn)行多租戶容器工作負(fù)載的輕量級(jí)虛擬化技術(shù)。AWS的Matt Wilson指出,F(xiàn)irecracker的開(kāi)源來(lái)自亞馬遜的Lambda和Fargate團(tuán)隊(duì),這表明開(kāi)源正開(kāi)始深入亞馬遜的DNA。
這很好,尤其是AWS正努力應(yīng)對(duì)這樣的批評(píng),即它為開(kāi)源付出了太多,但給予很少。谷歌與Kubernetes最初和持續(xù)的合作,以及它如何建立Kubernetes核心來(lái)促進(jìn)而不是控制后續(xù)的創(chuàng)新,這是一個(gè)很好的可以遵循的例子。