暨9月Gogole釋出Kubernetes 1.4版本,靠2指令就能部署一套容器叢集,以及新增跨叢集、跨雲環境部署後,近日也推出了1.5版,其中的重要亮點在於,它是目前唯一市面上能支援Windows Container的容器調度工具。Google表示,根據使用者的回饋,他們發現企業不僅想要在容器中,運行保存狀態(Stateful)的應用程式,「最終還想要透過Kubernetes運作所有的應用程式。」因此在此版本中,Kubernetes 1.5版除了支援分散式資料庫系統的運作,對於保存狀態、無狀態(Stateless)的應用程式,確保它能維持一定的中斷服務目標(Disruption Service Level Objective)。
在新版本中,Kubernetes總共新增了2組Beta功能:StatefulSet以及PodDisruptionBudget。Google表示,StatefulSet是一組控制器,用於辨別叢集中,不同節點(Pod)的身份,「透過它來安排系統部署、水平擴充的順序。」
而運行在Kubernetes上的應用程式,只要是負責持久儲存(Persistance Storage),或是具備一組持久身份辨識碼(Persistent identity),都可以透過StatefulSet,執行創建、擴充、刪除,以及儲存等功能。不過由於目前此功能還處於Beta版,並不支援1.5版前的Kubernetes。
第二個Beta功能則是PodDisruptionBudget。Google表示,它是一組API物件,在系統運行時,此功能會確保叢集維持運作一定數目、比例的複本(replica),「在叢集維運上,應用程式部署者可以確保系統不會同時關閉過多節點,導致遺失資料的狀況發生。」
Kubernetes 1.5版除了2個重要的新Beta功能外,也推出了不少Alpha版功能。第一個是命令程式列工具Kubefed,開發者能透利用此工具管理叢集聯邦(Federated Cluster),例如在現有的聯邦中,移除、新增叢集。再者是容器Runtime介面(Container runtime Interface,CRI),允許開發者選擇不同的容器Runtime(Pluggable container runtimes)。
Kubernetes會讓Windows、Linux世界變得更加混亂
雖然新版Kubernetes的功能都是位於測試階段,但是其中有一個重要亮點在於,它是目前主流容器調度工具中,唯一有支援Windows Server Container的一者,甚至還相容於Windows Server 2016平臺。
過往的既定印象中,Linux與Windows是互不相容的環境,Windows程式不會運作在Linux平臺上,反之,Linux應用程式也無法在微軟平臺上運行,「如今,Kubernetes 1.5出來後,一切都變了。」Mirantis技術暨行銷內容總監Nick Chase表示,此版的Kubernetes支援了Windows Server Container。
他解釋,單一Kubernetes叢集中,將可同時包含運行Linux Container的Linux節點,以及執行Windows Container的Windows節點,也因此「提供真正的容器混合使用體驗。」