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