Kunbernetes的未來:虛擬機?容器?還是Hypervisor?

Kubernetes未來將走向何方?Pivotal的首席技術專家Paul Czarkowski預測虛擬機(VM)將取代容器;紅帽的副總裁Joe Fernandes認爲虛擬機只是在幫助Kubernetes進化,而不會取代容器。此外,紅帽的高級產品營銷經理Chris Short表示,Kubernetes很快就會取代虛擬機管理器(Hypervisor)

Czarkowski表示,雖然容器改進了軟件的構建和部署方式,它們也不像虛擬機那樣是安全的隔離沙箱。此外,容器是基於共享內核模型構建的,僅提供基本的進程隔離。Kubernetes中的大多數組件都不是租戶感知(tenant aware)的,所以採用的是軟租戶模型,其中只有命名空間pod安全策略級別是隔離的,但API卻是共享組件:

這種情況導致了“多集羣”模式的興起,取代了“單個共享的大集羣”。經常能見到谷歌GKE服務的客戶爲多支團隊部署好幾十個Kubernetes集羣。通常每位開發者都有自己的集羣。這種習慣導致集羣數量快速增長到令人震驚的程度,足以稱作“Kuber氾濫”了。

爲了解決Kuber氾濫問題,Czarkowski提議使用像Kata Containers這樣的微型虛擬機——它是一個“開源項目和社區,致力於構建輕量級虛擬機的標準實現,其形態和工作方式和容器很像,但提供了虛擬機具備的負載隔離和安全性優勢“。他的提議不是使用許多Kubernetes控制面板,而是使用Kata Containers爲每個租戶提供一個隔離的環境(包括Kubernetes API),其中嵌套的VM容器在來自AWS、Azure、GCP或vSphere的虛擬機中運行。這種部署如下圖所示:

資料來源:Paul Czarkowski撰寫的“Kubernetes的未來就是虛擬機

在上圖中已經部署了兩個Kubernetes命名空間,分別是foobar。每個命名空間都有自己的API、系統服務和pod。這樣通過嵌套的虛擬機來支持多租戶集羣就能減少Kuber氾濫現象,並且這種底層基礎架構可用於在同一虛擬機中託管非容器工作負載。

另外,Short說“使用Kubernetes作爲虛擬機管理器的想法很快就會變爲現實了”,使用像KubeVirt和Kata Containers等工具幫助組織遷移無法容器化的老舊負載。KubeVirt是虛擬機管理的附加組件,可在Kubernetes之上提供虛擬化解決方案。KubeVirt允許無法輕易容器化的老舊應用使用Kubernetes的內置功能,如自我修復、自動滾動升級(和回滾)、水平擴容等。Short說:

這意味着虛擬機只要少量調整就能容器化了。根據現有的一些計劃,Kubernetes將作爲虛擬機管理器開始改變數據中心和雲計算環境。

也就是說Czarkowski和Short的想法是互補的。Czarkowski認爲Kubernetes未來將成爲融合新興技術的虛擬機,就像來自AWS的Firecracker和來自Google的gVisor那樣;而Short認爲虛擬機的未來就是Kubernetes,組織會使用像KubeVirt這樣的工具將原有的應用遷移到Kubernetes上。

Fernandes表示,未來的關鍵不是容器將取代虛擬機,而是如何使用Kubernetes來協調不同的負載,如傳統的基於虛擬機的負載或是微型虛擬機等。Kubernetes將幫助組織現代化其負載,併爲容器、虛擬機甚至裸機基礎架構提供混合操作。還會有組織繼續在裸機基礎架構中運行負載,以通過硬件加速技術滿足性能需求。或者也有公司像Short所說的那樣,希望通過虛擬機、微型虛擬機或藉助KubeVirt和Kata Containers等工具來遷移並進化現有的負載。

所以Fernandes認爲虛擬機不會取代容器。相反,Kubernetes堆棧中虛擬機會不斷進化。2019年的趨勢是Kubernetes與虛擬化開始相交,此外還興起了更開放的新思維模式:Kubernetes將開始使用容器和虛擬機來運行混合負載。

Fernandes在帖子最後補充了Short和Czarkowski的觀點,他說Kubernetes的三大關鍵趨勢將是:

  1. Kubernetes編排微虛擬機,爲不受信任的負載提供更嚴格的多租戶隔離。

  2. Kubernetes編排和管理傳統的基於虛擬機的負載(通過KubeVirt)以及基於容器的負載。

  3. Kubernetes集羣越來越多地部署在裸機服務器上,作爲基於虛擬機環境的Kubernetes的替代品。

你如何看待Kubernetes的未來?

查看英文原文Kubernetes Future: VMs, Containers, or Hypervisor?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章