Mesos使用統一容器管理器支援多種容器
本文介紹了Mesos即將釋出的一個新的功能,即使用統一的容器管理器來支援多種容器型別。包含了實現此功能的原因、能為Mesos使用者帶來的益處、釋出的時間表和使用者在使用此功能時應該注意的問題等。
Apache
Mesos從2014年年底開始支援Docker作為其預設容器型別的替代品,但是現在這個流行的叢集排程平臺已經接近完成一個更簡單的方式意在替換現在已經存在的兩種容器方式,以簡化其未來的框架開發工作。
除了這個目的之外,這個“統一的容器管理器”還使得在Mesos加入新的容器型別變得更容易。像是rkt、appc和Open
Container
Initiative的任何新成果在找到其適用的場景後都可能隨著時間的推移變得更流行進而成為目前眾所周知的容器型別的替代品。
當解釋這個變化的動機時,Mesos的維護者在最近的一篇更新文件中如是說:
維護兩套容器管理器是困難的。例如,當我們需要在Mesos中增加新的功能(例如持久卷,磁碟隔離)時,需要修改兩個容器管理器就變成了一個負擔。更糟糕的是,某些資源的隔離(如在Agent中的網路處理)需要在兩種容器管理器之間進行協調,這在實踐上變得非常難於實現。
通過統一Mesos容器管理器簡化了排程器如Marathon或者Chronos呼叫的API,避免了因為Mesos增加執行時功能而需要經常更新上層軟體。取而代之是通過這些上層的框架抽象出來的細節來實現映象介面和執行時隔離。
這種變化意味著在你的叢集中增加新的容器型別支援只需要給mesos-slave服務傳遞幾個額外的引數即可完成,這與Mesos中首次引入Docker容器管理器時比較是一個很大的進步。這種映象介面抽象也使得在本地部署容器映象有了更多的選項而無需一個本地的Docker映象源,本地Docker映象源對於小規模環境來說是一個痛點。
即使這個新的功能會被新增到即將到來的Mesos
0.28版本中,在Mesos上使用Docker的有經驗的使用者或許還是會等上一段時間才會切換到這種新的方式。在釋出時,將會只支援新的Docker映象源API,而且橋接方式的網路也不會被支援。
最開始的版本在使用私有的映象源方面也會比較複雜。然而,這依然是Mesos在支援容器方面逐步成熟的一個重要步驟,並使得Mesos可以在迅速發展和變化的IT領域被繼續定位為可行的和穩定的平臺。