1. 程式人生 > >OpenStack社群已經做好準備:未來雲可能只是裸機上的容器

OpenStack社群已經做好準備:未來雲可能只是裸機上的容器

                                                           OpenStack社群已經做好準備:未來雲可能只是裸機上的容器

如果作業系統或伺服器韌體擁有更好的隔離和工作負載排程軟體,那麼資料中心中的伺服器虛擬化就可能永遠不會發生。從長遠來看,所有這些虛擬機器和管理它們的虛擬機器管理程式也可能消失,因為雲帶來的靈活配置和工作負載隔離可通過裸機和容器可用。

可能有一天,雲不再有我們所知的虛擬化,除非在極少數情況下需要額外的抽象級別來更好地保護應用程式執行和資料所在的位置,以及公司願意承受額外的效能損失以提供更高級別的安全。

OpenStack社群正在為這一天做好準備。OpenStack基金會營運長Mark Collier和執行董事Jonathan Bryce一起討論了虛擬化、裸機和容器的未來。

像OpenStack這樣的雲控制器最初是為了將虛擬機器管理程式配置到伺服器叢集上,然後是包含整個作業系統並在這些虛擬機器管理程式上執行應用程式的虛擬機器而建立的。這是一個很大的開銷,谷歌建立了最初的Linux容器(基於名稱空間和cgroups),以避免支付VM開銷,但仍然在其叢集中執行的工作負載之間提供一些隔離。Docker容器源自谷歌的這些想法,已經開源並被廣泛接受。谷歌採用了Borg和Omega叢集控制器的許多想法(這些控制器將容器編排器作為其功能集的一部分),並開源了該軟體的Go變體——Kubernetes,它正在迅速成為Docker的首選編排器。

根據OpenStack最新使用者調查的初步結果(結果將於11月在柏林的OpenStack峰會上公佈),大約20%至25%的客戶正在將Ironic裸機外掛用於生產中的OpenStack。這比2017年調查中的15%和2016年調查中的11%有所上升。五年前,95%的工作負載使用一個管理程式或其他管理程式——主要是Xen(由Citrix Systems控制)或KVM(由Red Hat控制),少量VMware ESXi,只有少數使用裸機配置。Bryce估計現在OpenStack站點的工作負載中有70%到75%是虛擬化的,剩下25%到30%的工作負載是在裸機上執行的。這是一個重要的區別,因為OpenStack客戶有時會有許多叢集和數十到數百甚至數千個工作負載,有時還會有裸機或虛擬主機的混合叢集。

已經有OpenStack上裸機使用者做大做強的例子。雅虎大規模執行Ironic外掛,管理著超過100萬個核心,執行各種應用程式。Adobe擁有一個超過100000個核心的OpenStack雲,由四個人運營——該公司表示,執行成本比公有云上的基礎設施低30%。企業SaaS軟體供應商Workday擁有一個50000核心的OpenStack叢集,該叢集正在擴充套件到300000個核心,以支援快速擴充套件的業務。

隨著工作負載數量的增加以及工作負載本身在容量和使用者方面的增長,OpenStack使用者叢集的規模不斷擴大,這意味著目前OpenStack雲上的虛擬機器管理程式和虛擬機器的數量不斷髮展,即使容器正在成為打包和部署軟體的方式。

至於容器,虛擬化和裸機主機都配備了容器和它們的編排器,Docker容器占主導地位,而主流的編排方式Kubernetes、Docker Swarm和Mesos都有自己的外掛。確切地說,容器在應用程式中的普遍程度是OpenStac基金會試圖弄清楚的。但足以說明,部分工作負載正在容器化,而且這一比例只會隨著時間的推移而增長。有可能會增長很多,裸機和容器環境變得足夠複雜和安全,除了傳統支援之外不再需要虛擬化。

“在某個時候,虛擬機器的數量可能會開始減少,但就目前而言,虛擬機器非常普遍,軟體可以立即以有用和相容的方式執行。”Bryce說,“關鍵是,使用OpenStack,你可以使用在環境中有意義的任何技術,並且可以直接在裸機上執行,使用容器化應用程式或支援VM。未來幾年,大多數IT廠商都將這樣。大公有云也是如此——他們的客戶主要部署虛擬化。因此,真正強大的是在單一平臺上提供所有這些技術。也就是說,部署裸機越容易,就會更強大。”

有許多新的或改進的OpenStack專案旨在使裸機配置和叢集管理變得更容易。在Rocky版本中,有一個新的RAMdisk部署介面與Ironic裸機控制器,允許大規模叢集將其映象載入到主記憶體而不是本地儲存,並且這將大大加快裸機伺服器的部署。Ironic還具有控制物理伺服器中BIOS設定的介面,並配置各種設定,例如SR-IOV外設匯流排虛擬化。GPU加速器的Cyborg介面現在允許從OpenStack框架內訪問和重新程式設計FPGA,包括用於以程式設計方式自動執行此操作的REST API。Cyborg顯然對HPC和機器學習工作負載都很有用。

Rocky還改進了TripleO功能,可以實現更好的快進升級。在正常情況下,你必須按OpenStack版本順序升級以獲得最新版本,但使用TripleO,你可以跳過兩個或三個版本,並在該步驟中獲得至少一個當前版本。