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