在私有云和混合云中使用OpenStack容器服務
基于容器的虛擬化會影響IT的所有部分,包括云軟件堆棧。 因此,OpenStack社區開發了一系列服務模塊,使得在基于OpenStack的私有云或混合云上打開運行密集打包的容器實例成為可能。
Magnum是OpenStack容器箱項目,已經存在兩年了。它被認為是運行容器軟件(例如Docker Swarm、Kubernetes和Apache Mesos)的一種方式,并允許機構在OpenStack上編排容器。Magnum是一個靈活的工具,例如,允許使用Swarm的OS鏡像在裸機或虛擬機上運行。
OpenStack Magnum在Nova實例中構建容器結構。該服務通常使用輕量級的操作系統(如Core OS或Fedora Atomic)來支持Docker。這個實例也包括適當的編排器——Swarm、Kubernetes或Mesos。OpenStack Magnum在Heat中創建一個控制結構來識別實例和容器。這種方法允許管理員通過OpenStack項目的核心組合使用具有必要的存儲、應用程序鏡像和網絡連接的Heat模板。Magnum還支持Neutron負載均衡器。
OpenStack容器的新進展
***版本的OpenStack Ocata推出了新功能來幫助部署和管理容器,包括:
- Kolla:一種容器化的OpenStack服務,允許三個主要的容器編排程序 —— Docker Swarm、Kubernetes和Apache Mesos在OpenStack中運行,并與其他模塊進行交互。
- Kuryr:將容器連接到Neutron,以便虛擬網絡與其他容器、虛擬機實例和外部世界的互連。 它現在支持Docker Swarm。
- Fuxi:Kuryr的一個子項目,允許容器訪問Cinder塊存儲和Manila共享存儲。
- Zun:一個OpenStack容器管理服務。OpenStack Wiki將Zun定義為Magnum的原始意圖,而Magnum已經管理為主持上述的三大容器編排引擎。
- kuryr和Fuxi提供網絡和存儲連接,將容器從有限的環境移動到全應用程序環境。綜上所述,前面列出的前三個模塊允許一組容器交互并共享和存儲數據。
現在Kolla支持三大容器編排引擎,Zun是OpenStack專有的創建容器和管理其生命周期的方式。這在混合云中可能用不著,因為容器及其相關的操作系統和應用程序鏡像的可移植性對于平滑和高效的操作至關重要。
在Kolla使用標準的編排環境應該有助于遷移到公有云容器服務。Murano模塊中容器支持的模板和圖像應可以在混合云中運行。但是,支持跨云處理所需的API仍然存在缺陷。
有了這些新功能,與使用Puppet或Ansible從頭開始構建相比,Magnum成為OpenStack容器部署的一個更簡單的方法。盡管如此,OpenStack Magnum和DIY方法更多的是DevOps級別的任務,而不是最終用戶、政策驅動的過程。
OpenStack容器服務的下一步
OpenStack使用的***之一是CERN。該組織基于OpenStack Magnum建立了一個1000節點的集群,最近每秒的Kubernetes請求數可以達到700萬個。 CERN的項目反映了在OpenStack中擴展Kubernetes的進展,而且Kubernetes繼續在進步。
盡管如此,OpenStack容器服務仍然有待成熟。Project Navigator是所有官方OpenStack項目的指南,它提供了對項目成熟度和利用率的客觀衡量。
目前,根據Project Navigator,OpenStack Magnum在八個成熟度中排名第二,被用于11%的OpenStack安裝。很明顯,OpenStack Magnum還沒有涵蓋所有的基礎,例如,與認證的集成較弱。
其他關鍵整合還處于起步階段。舉例來說,與Ansible和Puppet的進一步整合
對這些管理環境擴展到OpenStack容器世界而言是必要的。此外,如果工作負載開始從中央IT管理員轉移到部門用戶,容器編排的簡化控制機制是至關重要的。擴展到模板系統和基于策略的管理是此任務的一部分。
容器技術飛速發展,OpenStack必須趕上。這就意味著Magnum和相關的OpenStack容器項目的成熟度和穩定性將在2017年持續改善。