剖析Docker Swarm和Mesos:是什么?如何結合?有什么優勢?

本文講的是剖析Docker Swarm和Mesos:是什么?如何結合?有什么優勢?【編者的話】本文來自Mesosphere,從生產環境的需求出發,簡要介紹了Docker Swarm的誕生背景,以及其與Mesos、 Mesosphere DCOS之間的關系,同時,也闡述了Mesosphere管理大規模容器的方式以及它和Swarm是如何結合的。

在去年(2014)12月份的歐洲DockerCon上,Docker首席技術官Solomon Hykes說Mesos是生產環境下運行大規模可擴展容器集群的黃金標準,這對于每個使用Apache Mesos和Mesosphere Datacenter Operating System(DCOS,數據中心操作系統)的人來說應該感到萬分的榮幸。

這也正是容器成熟的標志:現在Docker已經完成了,甚至我們都開始討論大規模的容器應用。2006年, 谷歌第一次對外介紹容器化組件cgroups和namespaces,可以說這是現代Linux容器的開端。然而Docker的真正工作是簡化容器的創建,并讓這些容器可以作為開發人員和系統管理員標準化、配置、交付應用的最好方案。

今天宣布Docker Swarm的意義何在?

把一個容器放到生產環境中聽起來很簡單,然而卻有很多事情要做。

Docker的確可以讓你輕松的打包一個應用,但是你還想讓應用在其它方面也變得簡單,比如在運維方面。你還想要很容易就把應用扔到云里,比如Amazon、自己的硬件環境、私有云或是公有云,并且它可以按照需求運行很多次,永遠不會宕機,也不會麻煩你。如果應用有了新版本,Docker可以讓你以優雅的方式來升級。這才是開發人員所關心的(他們關心的是把代碼推送到生產環境,然后應用就一直運行,既不需要帶一個BP機,也不會有IT人員的打擾)。這些事情看起來簡單卻不容易做到。

Docker Swarm就是Docker提供的一個解決方案,它可以無縫管理容器集群,所以今天發布的Swarm就是真正的為了讓企業用戶能夠部署和管理大規模容器。

我們認為Docker Swarm發布最酷的部分應該是“batteries included but swappable(可插拔式的架構)”。簡單的說,這個意思就是當你需要規模化生產的時候,你可以開始使用Docker Swarm,并“換入(swap in)”Mesosphere。我們認為他們做了一個偉大的社區決定, 就是鼓勵用戶在容器集群調度和協調上面可以自我選擇和創新,而不是只規定一種方式。

Mesosphere管理大規模容器的方法

Mesos和Mesosphere DCOS是專門設計用來管理大規模容器的。這些高性能的系統在一些世界上最大的數據中心的生產環境中已經身經百戰很多年了,例如Twitter,幾乎完全是在Mesos上面運行的。

在成百上千臺機器上協調和調度大規模的容器,與在單臺機器或者100臺機器上運行容器是截然不同的。當你按比例增加已有的100臺機器,可能的故障面和性能瓶頸就會以指數級復雜度增長。

在數據中心中,機器故障隨時可能出現,磁盤故障隨時可能出現,網絡也隨時可能出現.......管理故障以及把故障展現出來就需要像Mesos和Mesosphere DCOS這樣高度專業的系統。從Mesoshere的立場來說,你是想把計算機的集群看成是一個黑盒,然后要把你的應用扔進去(例如使用Docker Swarm)并運行,如果一些不好的情況出現了,你希望系統可以自己去修復它。

Mesos和Mesosphere DCOS是專門設計在數據中心中管理容器, 并解決企業在運行生產級別的應用過程中所面臨的挑戰。例如,Mesoshpere的技術是:
  • 高可用性,生產環境中關鍵工作常常需要五個或五個9以上的可靠性,以及高度的自動化。為要達到這個要求,Mesos已經做了多年攻堅。
  • 容錯,當一些不好事情發生時,一個服務器,一個機架,或者網絡出故障了, Mesos有能力自動地辨別并處理這些故障。
  • 自我修復,當一些東西在Mesos或者Mesosphere
    DCOS集群中出現故障時,例如當一個機架壞了或者一些服務掛掉了,這些服務是可以自動被重啟的,并且每一個都是可以自動重連接的,就像海星在沒有人工干預的情況下,自己長出了另外一個手臂。

通過整合Docker Swarm和Mesophere,你可以使用Docker工作流(Docker workflow)來創建和打包你的應用,然后借助Mesosphere DCOS和Mesos協調和調度容器,你完全可以運行你的應用,并且它們是可擴展且高可用的。

數據中心規模的多組織用戶管理

在傳統系統中,在相同的數據中心運行多種類型的工作,需要運維團隊為每種工作定制機器的集群。所以,比如說你想運行Docker Swarm和Spark,你需要為Docker Swarm創建一個集群,再為Spark創建一個集群。這就在數據中心中創建了很多倉庫(silos),每個類型的工作都需要分開的集群管理,也不容易實現數據和資源的共享。

Mesos和Mesosphere DCOS是唯一有能力讓Docker Swarm和其它應用給你運行在同一個集群上。包括大數據應用,例如Spark、Storm、Kafka以及Hadoop。這也提高了資源的使用,同時減少了消耗和復雜性。

使用了Mesosphere DCOS之后,你可以通過一個簡單的命令把Docker Swarm安裝為一個數據中心服務,并且Docker Swarm和其它數據中心服務一樣運行在相同的集群上,例如大數據服務。大量的數據中心服務還可以同時運行,Mesos也會彈性地與Dokcer Swarm共享資源。

Mesos上的Docker Swarm是如何工作的

Mesos上的Docker Swarm直接使用Mesos的API,這就意味著它可以完全兼容Mesosphere DCOS,這也使得Docker Swarm同Marathon、 Cronos、Spark、Storm、Hadoop以及Cassandra一樣成為Mesos和Mesosphere生態系統里面的一等公民。

使用Mesos API集成Docker Swarm的好處是在保持對Docker Swarm的完全兼容的情況下,使用Mesos特性過程中可以提供最大的靈活性。在Mesos上的Docker Swarm可以使用最新的Docker Swarm特性,同時可以利用Mesos和Mesosphere DCOS的特性以及可擴展的架構。

原文鏈接:Docker Containers at Scale (Our Take on Docker Swarm)(翻譯:左偉 校對:郭蕾)

===========================
譯者介紹
左偉,就職于IBM,軟件工程師,現從事于DevOps相關的研究,實現和推廣。

原文發布時間為:2015-02-28
本文作者:左偉?
本文來自云棲社區合作伙伴DockerOne,了解相關信息可以關注DockerOne。
原文標題:剖析Docker Swarm和Mesos:是什么?如何結合?有什么優勢?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455133.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455133.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455133.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

濮陽第二屆創客機器人比賽_咸陽市舉行第二屆機器人大賽暨第一屆創客大賽

11月14日,由陜西省教育信息化管理中心指導,市教育局主辦,咸陽師范學院、市少工委協辦的咸陽市第二屆機器人大賽暨第一屆創客大賽在咸陽師范學院舉辦。各個學校的同學展示自己的發明創造。咸陽日報全媒體記者 馬沅聰 攝據悉,來自各…

MP3文件格式解析

1, MP3簡介 MP3是今天一種常見的音樂格式,但恐怕除了工作要求之外,有興趣對此進行研究的人恐怕不多。所以,當我打算做MP3解碼方面的工作時,在找資料時也頗費了一番周折,同時也覺得很有趣。所以想在這里分…

懶漢式(線程安全,同步代碼塊兒)

懶漢式(線程安全,同步代碼塊兒) 代碼演示 // 懶漢式 (線程安全_ 同步放法_) class Singleton{private static Singleton instance;private Singleton() {}// 提供一個靜態的公有方法 加入了同步處理的代碼// 解決線程安全問題// 即懶漢式// 我們在這里加一個關鍵字 synchroni…

同余定理證明

轉載于:https://www.cnblogs.com/cmyg/p/7206474.html

非常抱歉,

非常抱歉,好長一段時間沒寫了,但是我在博客園偶爾還會寫寫這個行業必須不斷地學才不會被淘汰,幸好我是主動接受知識,我喜歡這個。。。。。。。。。。轉載于:https://blog.51cto.com/52770825/1962949

乘基取整法是什么_深入理解計算機系統(六):進制間的轉換原理

目錄1、進制的介紹2、二進制轉換成其他進制3、十進制轉換成其他進制4、十六進制轉換成其他進制5、總結上一篇博客我們講解了信息的在計算機中是如何存儲以及如何表示的。但是對于各個進制的轉換只是一筆帶過了,后來作者仔細研究了進制轉換的原理,發現還是…

單例設計模式-雙重檢查

雙重檢查 雙重檢查應用實例 代碼演示: class Singleton{private static volatile Singleton singleton;private Singleton(){}// 提供一個靜態公有方法public static Singleton getInstance() {if (instance null) {synchronized (Singleton.class) {if (instance null) {…

symbian系統開發教程(一)

第一章:Symbian OS簡介作者:謝興 enigma19971hotmail.com---轉載需注明出處 下載word文檔1.1. Symbian系統簡介當前有很多手機運行Symbian OS,數量甚至超出您的想象。到目前為止已經有超過7500 萬、100 多種型號的手機運行Sym…

小談c#數據庫存取圖片的方式

第一種方式 文件夾與數據庫配合 /// <summary>/// 上傳圖片/// </summary>/// <param name"FUSShopURL">FileUpload對象</param>/// <param name"UpladURL">圖片要放到的目錄名稱</param>/// <returns>如果Fi…

c#課程設計簡單題目_《C#項目案例》課程設計題目

1《C#項目案例》課程設計題目一、課程設計的基本目標1、通過本次課程設計&#xff0c;熟練掌握開發語言C#和開發環境——.NET。開發語言的熟練需要通過編寫一定長度的代碼(1000&#xff5e;2000行代碼)才能達到&#xff0c;開發環境的熟練需要反復的程序調試訓練。2、加深對軟件…

筆記吧

map的第一個為關鍵值&#xff0c;只可讀&#xff0c;不可寫。第二個為對應值&#xff1b;vector的消除有很大的困擾&#xff0c;感覺存在很大的局限性&#xff1b;問題——不能夠復雜話&#xff0c;一個問題先從較淺的方面想起&#xff0c;其實在現有基礎和請況下&#xff0c;不…

單例設計模式-靜態內部類

靜態內部類 靜態內部類應用實例 代碼演示 package com.atguigu.principle.singleton.type07;/** * author victor * site https://victorfengming.github.io/ * company XDL * project java_mode * package com.atguigu.principle.singleton.type07 * created 2021-02-02 20…

Symbian系統開發教程(二)

第二章&#xff1a;數據類型與語法 作者&#xff1a;謝興 enigma19971hotmail.com 轉載需注明出處 下載word版本 Symbian系統已經提供了一套已經定義好的內置的數據類型。為了保證你的代碼是編譯器無關的&#xff0c;應當使用下面symbian系統提供的數…

design php 如何使用ant_Ant Design Pro初探—添加面包屑

Ant Design Pro初探—添加面包屑上次咱們說了新建頁面&#xff01;頁面建成了&#xff0c;開始填充頁面 新建面頁面不會的看上一片文章:Ant Design Pro初探—新建頁面首先是需要添加家面包屑&#xff0c;上代碼&#xff1a;import React, { PureComponent } from react;import …

C++主要操作符重載的定義和總結

C中預定義的運算符的操作對象只能是基本數據類型&#xff0c;實際上&#xff0c;對于很多用戶自定義類型&#xff0c;也需要有類似的運算操作。例如&#xff1a; class complex { public: complex(double r0.0,double I0.0){realr;imagI;} void display(); private: do…

原生JS數組去重的幾種方法

有時候我們做項目的時候往往會需要把數組里面一些重復的項去掉&#xff0c;但是原生JS有排序&#xff0c;有篩選等等&#xff0c;但是就是沒有數組去重怎么辦呢&#xff1f;這能怎么辦&#xff0c;自己手動實現嘛。&#xff08;以下代碼直接在原型上添加的的方法&#xff0c;為…

單例設計模式-枚舉

枚舉 枚舉應用實例 代碼演示 package com.atguigu.principle.singleton.type08;/** */ public class SingletonTest08 {public static void main(String[] args) {Singleton instance Singleton.INSTANCE;Singleton instance2 Singleton.INSTANCE;System.out.println(inst…

拋物線交點式公式_拋物線交點式

以下是范文網www zhuodaoren com 分享的6 已知拋物線與軸兩交點在軸同側&#xff0c;它們的距離的平方等于&#xff0c;則的值為( )&#xff0c;希望能幫助到大家!(一)6 已知拋物線與軸兩交點在軸同側&#xff0c;它們的距離的平方等于&#xff0c;則的值為( )函數與一元二次方…

學習的動力

要有自學的意識&#xff0c;這是一個知識不斷更新、不斷涌現的時代&#xff0c;大學里的很多知識是過時的&#xff0c;就算入校時是熱門行業的但很可能四年后畢業找工作時已經變成了夕陽產業&#xff0c;學習是一種能力&#xff0c;但首先是一種態度&#xff0c;一個人想在快速…

java面向對象之父類的引用指向子類的對象

1 package Text; 2 3 public class Job { 4 public void dowork(){ 5 6 } 7 } 1 package Text; 2 3 public class Luosidao extends Job{ 4 public void dowork(){ 5 System.out.println("螺絲刀擰螺絲。。。"); 6 } 7 } 1 packa…