集群資源調度系統對比
大小:0.6 MB 人氣: 2017-10-10 需要積分:1
在高手出場前,讓我們先快速回顧一下有關容器技術的背景知識。
從容器(Container)到Docker
1. 容器(Container)
提到虛擬化,很多人都會立刻想到虛擬機,其實它只是虛擬化的一種實現。容器是另一種虛擬化,一種操作系統級別的虛擬化。從本質上來說,容器就是提供一個與宿主機操作系統共享內核但與系統中的其它進程資源相隔離的執行環境。其輕量級部署運行和秒級啟動特性,幫助開發者快速構建、發布、部署和實例化應用程序。
容器化最直接的好處在于簡化DevOps,當應用采用了微服務架構(Micro-services architecture),每個容器就是一個微服務,而容器的靈活性意味著微服務可以隨負載增長而快速橫向擴展,且namespace(包含一個應用程序能夠交互的所有資源)與資源隔離阻止了微服務實例之間的互相干擾。
2. Docker
Docker是時下流行的容器技術之一,起先是基于LXC(Linux Container)的開源容器管理引擎, 現在runC(標準化容器執行引擎,符合OCI標準的開放容器項目)更讓它欣欣向榮向前發展。
與傳統“重量級”的虛擬機相比,Docker在LXC之上融合AUFS分層鏡像管理機制,拋棄傳統虛擬機試圖模擬完整機器的思路,而是以應用為單元進行“集裝封箱”,是“輕量級”的虛擬化技術。
Docker Engine可以自動化部署應用到可移植的的容器中,這些容器獨立于硬件、語言、框架、打包系統。一個標準的Docker容器包含一個軟件組件及其所有的依賴,包括二進制文件,庫,配置文件,腳本等,實現持續集成與部署,快速迭代應用程序。
Docker容器可以封裝任何有效負載,幾乎可以在任何服務器之間進行一致性運行。開發者構建的應用只需一次構建即可多平臺運行。運營人員只需配置他們的服務,即可運行所有應用。
Docker的終極目標是簡化容器的創建,并讓這些容器可以作為開發者和系統管理者標準化、配置、交付應用的最佳方案。如果說Docker交付運行環境如同海運,那么OS如同一個貨輪,每一個在OS上的App都如同一個集裝箱,用戶可以通過標準化手段自由組裝運行環境, 同時集裝箱的內容可由用戶自定義,也可由專業人員制造。這樣,交付一個應用,就是一系列標準化組件的集合交付。
高手登場了
身為一個容器調度高手,TA一定會選擇最適合的Host來啟動容器,并讓容器之間緊密協同;對于失效容器立即自動替換,一切錯誤處理盡在掌控中;當高并發突然來襲,能迅速擴展容器來應對等等。那么今天的這三位主角——Docker Swarm、Apache Mesos、Google Kubernetes,在大規模集群容器場景的挑戰下,又會表現出怎樣的特征和本領?
1. Docker Swarm篇
Docker Swarm是Docker公司在2014年12月初發布的一套管理Docker集群的工具。它將一群Docker宿主機變成一個單一的虛擬主機,而且使用標準的Docker API接口作為其前端訪問入口,這樣一來,各種形式的Docker工具都可以很容易與Swarm進行集成。
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%