OpenStack是搭建私有云平臺的事實標準;而Kubernetes作為谷歌集群管理系統Borg的開源版本,在容器集群管理方面前景光明。本文重點介紹了紅帽在深度整合OpenStack和Kubernetes的嘗試。
這個星期,在波特蘭召開的OSCON 2015會議上,我們同谷歌以及其他成員一起慶祝了Kubernetes 1.0的發布以及CNCF(Cloud Native Computing Foundation)基金會的建立。其中,紅帽、谷歌和其他一些公司都是CNCF基金會的創始成員。Kubernetes是一個開源系統,用于管理容器化應用,容器化應用為部署、維護以及擴展應用提供了基礎機制。這個項目最初由谷歌創建,現在由一個充滿活力的社區開發,紅帽也是開發者之一。
作為Kubernetes和OpenStack的重要貢獻者,我們很非常歡迎谷歌能夠加入OpenStack基金會。我們期待繼續與谷歌以及其他開發者一起工作,將Kubernetes的容器編排、管理功能與OpenStack的基礎設施管理功能結合起來。
Kubernetes在2014年6月創建后,紅帽很快就加入了這個項目,并且投入了大量資源,現在紅帽是這個項目中除了谷歌之外的最大代碼貢獻者。最近發布的紅帽的“平臺即服務”系統——OpenShift v3,被視為容器編排與管理的框架,該系統就是圍繞Kubernetes構建的。
作為OpenStack基金會的創始成員,我們一直致力于使用Project Atomic簡化容器主機的部署和管理任務,同時使用Heat編排引擎在OpenStack基礎設施之上搭建Kubernetes集群。
為了這個目標,紅帽工程師創建了heat-kubernetes編排模板,幫助加速Kubernetes與底層OpenStack基礎設施更深層次的整合。這個模板仍在持續改進,這樣可以支持容器管理的其他方面,例如自動擴展,這一點在最近的Red Hat Summit進行了演示。請看視頻。
Heat-kubernetes模板最終也利用了OpenStack Magnum項目, 這個項目提供了一個OpenStack API, 而該API可以使用包括Kubernete在內的容器編排技術搭建一個容器集群。這樣做的目的是使容器成為OpenStack中像虛擬機、裸機這樣的“一等公民”,這樣容器能夠與在它上面運行的其他由OpenStack管理的虛擬機、裸機主機以及容器共享多租戶基礎設施資源(例如網絡和存儲)。提供這個級別的整合需要提供并擴展OpenStack現存的Kubernetes插件,同時定義新的插件API以維護解決方案的技術獨立性。所有這些都需要保持應用與底層基礎設施的獨立性,并且保持真正的開放混合的云操作。類似的,在OpenStack這一端,需要一些附加工作,使得基礎設施服務能夠支持容器負載的應用場景,并去除應用負載與底層硬件之間的冗余,從而優化性能并提供安全操作。
Magnum和OpenStack Container Team提供了一個切入點,來協同多個upstream項目以及OpenStack生態系統內的項目的研究和開發,從而提供豐富的基于OpenStack的容器實踐經驗。
作為OpenStack和Kubernetes的主要貢獻者,我們紅帽期待與OpenStack、Kubernetes社區以及我們在谷歌的技術伙伴合作,繼續整合這些讓人激動的技術,管理“未來的數據中心”。