業(yè)界人士以及他們的七姑八姨時下都在用Kubernetes管理云容器。即便是Kubernetes的前對手Docker Swarm和Mesosphere也只好認(rèn)輸。Mesosphere于10月初投在Kubernetes旗下,Docker于10月底增加了Kubernetes支持。唯一的問題是:這些不同的Kubernetes實現(xiàn)是否兼容?由于云本機計算基金會(Cloud Native Computing Foundation ,縮寫為CNCF)出手,答案是可以兼容。
Kubernetes的母公司CNCF宣布,至少32家公司將支持Kubernetes軟件一致性認(rèn)證計劃。筆者在寫此文時又有其他公司加入進來。問題不在于“哪些Kubernetes公司支持這個新計劃?”,問題在于 “哪些Kubernetes公司不支持這個新計劃?”答案是,在Kubernetes空間里,真正數(shù)得上的Kubernetes公司沒有一家不支持。
Kubernetes軟件一致性認(rèn)證將確保每個供應(yīng)商的Kubernetes版本都支持旗下所需的應(yīng)用程序編程接口(API)。對于Kubernetes用戶來說,這就確保了不同Kubernetes安裝之間的互操作性,為用戶提供了靈活性并可保持用戶相對于供應(yīng)商的獨立性。
Kubernetes架構(gòu)技術(shù)聯(lián)盟(Kubernetes Architecture SIG)將是程序API一致性定義的最終仲裁者。Kubernetes架構(gòu)技術(shù)聯(lián)盟負(fù)責(zé)維護和發(fā)展Kubernetes的設(shè)計原則。
最初的認(rèn)證將基于Kubernetes 1.7及更新的版本。認(rèn)證方案有力地保證了商業(yè)化Kubernetes產(chǎn)品和服務(wù)會繼續(xù)發(fā)布新版本,以確保客戶可以充分利用Kubernetes的快速發(fā)展。 Kubernetes的發(fā)展速度在開源軟件歷史里是頂級的。大約每兩個月就會發(fā)布一個新版本。
CNCF執(zhí)行董事Dan Kohn在一份聲明中解釋時表示,“新的”Kubernetes軟件一致性認(rèn)證確保了企業(yè)部門的信心,如果工作負(fù)載在某個認(rèn)證過的Kubernetes發(fā)布版或平臺上可以運行,那么該工作負(fù)載也可以在任何其他版本上正常運行。認(rèn)證計劃確保了互操作性,這對于Kubernetes的目標(biāo)是十分重要的,Kubernetes的目標(biāo)是提供得到許多供應(yīng)商支持的、可以部署在任何公共云、私有云或混合云上的單一開源軟件堆棧。”
Kohn還表示,具體而言,該認(rèn)證計劃是基于“現(xiàn)有Kubernetes項目API的一個子集。這些API將完成一致性測試。即是說,用戶啟動新的容器時,不管用的是什么供應(yīng)商創(chuàng)建的Kubernetes版本,容器的運作是一致的“。
供應(yīng)商可以自己運行一致性測試套件(https://github.com/cncf/k8s-conformance/blob/master/instructions.md),并可提交一致性測試結(jié)果進行評審和CNCF認(rèn)證。最終用戶應(yīng)確保自己的供應(yīng)商合作伙伴的Kubernetes產(chǎn)品是經(jīng)過認(rèn)證的。
認(rèn)證Kubernetes的實施可以使用新的認(rèn)證Kubernetes標(biāo)志,也可以將Kubernetes標(biāo)志與產(chǎn)品名稱結(jié)合使用(例如XYZ Kubernetes服務(wù))。
這一切都是為了哪一樁呢? 谷歌云副總裁Eyal Manor有如下的解釋,“從谷歌開源Kubernetes的那一天起,我們的目標(biāo)就是為開發(fā)人員提供一個可移植的原生云平臺,以便可以在公共云及混合云環(huán)境中快速部署服務(wù)。供應(yīng)商利用認(rèn)證Kubernetes一致性計劃則可以證明他們的產(chǎn)品是純Kubernetes產(chǎn)品,會提供持續(xù)的、無縫的升級,這可以令用戶有信心自己能夠不斷地從Kubernetes的創(chuàng)新和可移植性受益。”