摘要:由谷歌開發(fā),允許你在許多不同的主機(jī)上管理容器化應(yīng)用程序。它已經(jīng)被完全開源,谷歌在年首次宣布開發(fā)它,第一版在夏天的時候發(fā)布。除了最近幾年的收獲,本身也是基于谷歌內(nèi)部十多年使用容器技術(shù)的經(jīng)驗(yàn)。
基于云的基礎(chǔ)設(shè)施,容器,微服務(wù)和新編程平臺在世界范圍占據(jù)了一大塊媒體領(lǐng)域,橫掃IT界。Docker、容器的使用在這幾個月內(nèi)呈爆炸式增長,已經(jīng)提交了20億的鏡像“pulls”;鏡像數(shù)在2015年11月就已達(dá)12億。從大型國際公司到小型創(chuàng)業(yè)公司,容器技術(shù)的使用都有明顯增長。
集群管理工具總覽很明顯,容器在創(chuàng)建和交付應(yīng)用程序的過程中有著新發(fā)展。然而,大范圍控制容器部署也會有一些并發(fā)癥。容器肯定是跟資源相匹配的。故障肯定是越快解決越好。這些挑戰(zhàn)會導(dǎo)致集群管理和編排的并發(fā)需求。
集群管理工具是一個通過圖形界面或者通過命令行來幫助你管理一組集群的軟件程序。有了這個工具,你就可以監(jiān)控集群里的節(jié)點(diǎn),配置services,管理整個集群服務(wù)器。集群管理可以從像發(fā)送工作到集群的低投入活動,到像負(fù)載均衡和可得性的高介入工作。在這篇文章中,我們來看一下目前比較受歡迎的集群管理工具,并討論一下他們的優(yōu)點(diǎn)和面臨的挑戰(zhàn)。
Docker Swarm讓你聚集一些Docker引擎到一個虛擬引擎。在一個分布式應(yīng)用程序環(huán)境中,計(jì)算元素必須也是可以被分布的。Swarm允許你在本地聚集Docker引擎。有了單個引擎,應(yīng)用程序可以被擴(kuò)展得更快,更有效率。Swarm能夠擴(kuò)容到50000個容器,1000個節(jié)點(diǎn),同時當(dāng)容器添加到集群的時候一點(diǎn)都不影響性能。
再加上,Swarm的角色相當(dāng)于Docker API。任意可以操作Docker Daemon的工具都可以運(yùn)用Docker Swarm的力量在很多主機(jī)上進(jìn)行擴(kuò)容。這些包括了像Flynn,Compose,Jenkins和Drone之類不同的主機(jī)。
Swarm也可以在后端運(yùn)行Mesos或者Kubernetes的時候,被用來作為前端Docker客戶端。Swarm在它的核心內(nèi)部是一個簡單的系統(tǒng):每個主機(jī)運(yùn)行一個Swarm代理與管理員。管理員處理容器的操作和調(diào)度。你可以在高可用狀態(tài)下運(yùn)行,它使用的是Consul,ZooKeeper或者etcd來發(fā)送容錯events到后端系統(tǒng)。
Docker Swarm的一個優(yōu)點(diǎn)就是,它是一個本地解決辦法——你可以用Docker命令來實(shí)施Docker網(wǎng)絡(luò),插件和數(shù)據(jù)卷。Swarm管理員為leader選舉創(chuàng)建一些master和特定的規(guī)定。這些條例實(shí)施在初級master故障的event里。Swarm調(diào)度器以各種各樣的過濾包為特色,也包括緊密性和節(jié)點(diǎn)標(biāo)簽。過濾包能夠附加容器到底層節(jié)點(diǎn),資源得到更好的利用,性能得到提升。
Core OS被創(chuàng)建來允許彈性擴(kuò)容,允許管理計(jì)算能力。與其通過apt或者yum安裝包,Core OS覺得倒不如利用Linux容器來處理更高抽象水平的service,提供好處給虛擬機(jī),但是重點(diǎn)是在應(yīng)用程序上而不是在完成虛擬化主機(jī)上。
Fleet能夠在它分享個體初始系統(tǒng)的場景中將Core OS集群虛擬化。有了Fleet,每個機(jī)器都有一個代理和一個引擎。雖然單個引擎在集群中的任意節(jié)點(diǎn)都是活躍的,但是整個引擎社區(qū)一直都是活躍的。Fleet也可以處理套借口激活——容器可以被用來處理在特殊接口的連接。這就允許系統(tǒng)在需要的時候創(chuàng)建進(jìn)程而不是等待需求的時候再去創(chuàng)建。
你們的開發(fā)運(yùn)維人員將他們的時間重點(diǎn)花在管理作為service創(chuàng)建基礎(chǔ)的容器上,同時不需要擔(dān)心可能出現(xiàn)在單個機(jī)器上的潛在問題。Fleet確保在集群中的容器在操作狀態(tài)。在發(fā)生機(jī)器故障的時候,容器會自動轉(zhuǎn)移到健康的機(jī)器上。
Kubernetes由谷歌開發(fā),允許你在許多不同的主機(jī)上管理容器化應(yīng)用程序。它提供工具讓你部署,彈性擴(kuò)容和維護(hù)應(yīng)用程序。Kubernetes的開發(fā)者致力于保持它一直處于可訪問、輕量級狀態(tài),并且易于使用。它可以在很多云環(huán)境中使用,包括私有云,公有云,多云端和混合云。Kubernetes可以在fly上進(jìn)行自我修復(fù),它以自動復(fù)制,自動再啟動,自動定位為特色。它可以被不斷擴(kuò)展,它的特點(diǎn)是hookable,可插拔和模塊化。它已經(jīng)被完全開源,谷歌在2014年首次宣布開發(fā)它,第一版在2015夏天的時候發(fā)布。除了最近幾年的收獲,Kubernetes本身也是基于谷歌內(nèi)部十多年使用容器技術(shù)的經(jīng)驗(yàn)。
Kubernetes使用容器組pod,并且在同時被調(diào)度和部署。調(diào)度的基礎(chǔ)配置是pods,因?yàn)橄啾扔谙到y(tǒng),單個容器會被當(dāng)成是基礎(chǔ)單元。大部分的pods最多有5個容器,這就組成了一個service。Pods會按照需求在現(xiàn)實(shí)生活中創(chuàng)建和刪除,或許修改。
Kubernetes是一系列寬松的、可以在很多不同的工作負(fù)載下操作的松散耦合原語。它很大程度上依賴于Kubernetes API的可擴(kuò)展性。API在內(nèi)部使用,同樣的,在外部被容器和拓展版本運(yùn)行在系統(tǒng)中。目前,已經(jīng)應(yīng)用Kubernetes的項(xiàng)目和企業(yè)包括:Wikimedia Foundation從本土設(shè)置轉(zhuǎn)移到Kubernetes;eBay在OpenStack上運(yùn)行Kuberenetes和容器;Viacom用Kubernetes創(chuàng)建了一個先進(jìn)的容器化基礎(chǔ)設(shè)施。
Apache Mesos是一個集群管理工具,它著重于資源隔離,以及分布式網(wǎng)絡(luò)或者在框架上分享應(yīng)用程序,它的構(gòu)想和開發(fā)源于加州大學(xué)伯克利分校。
一個開源系統(tǒng),它會給管理員分享資源、提升集群利用率的功能。目前使用Apache Mesos的公司包括:Apple,Airbnb和Twitter。
Apache Mesos對于像CPU,Disk和RAM之類的計(jì)算元件來說是一個抽象層。它運(yùn)行在每臺機(jī)器上,其中一臺機(jī)器被設(shè)計(jì)來作為master來運(yùn)行其它機(jī)器。任意Linux程序都可以運(yùn)行在Mesos上面。Mesos的一個優(yōu)點(diǎn)就是應(yīng)對故障,它會提供額外的安全層。
Mesos被設(shè)計(jì)來處理成千上萬的主機(jī),支持各種各樣主機(jī)上的工作負(fù)載。在一個Mesos配置上,你可能會發(fā)現(xiàn)Docker和Hadoop并排運(yùn)行。幾年前,當(dāng)系統(tǒng)支持Twitter的快速擴(kuò)張的時候Mesos做到了可視化。
Mesos使用代理節(jié)點(diǎn)系統(tǒng)來運(yùn)行任務(wù)。代理發(fā)送一張可得資源清單到master。在任意時刻,都會有成千上萬的代理節(jié)點(diǎn)在進(jìn)行操作。同樣,master也會分布任務(wù)到代理上。
Kubernetes是一個全徑且全面的容器管理平臺,有動態(tài)調(diào)度、升級、自動伸縮和持續(xù)健康監(jiān)測的功能。相較而言,Docker Swarm只是從單個容器引擎提供一個集群系統(tǒng)的視角。
Mesos和Kubernetes比較相似,因?yàn)樗麄兌际潜婚_發(fā)來解決在集群化環(huán)境中運(yùn)行應(yīng)用程序的問題。但Mesos在運(yùn)行集群方面不如Kubernetes,它重點(diǎn)放在它強(qiáng)大的調(diào)度功能和它被插在各種各樣的調(diào)度器的性能上。Mesos并不是為容器而生的,在容器流行之前就已經(jīng)被開發(fā)出來,它的一些地方被修改來支持容器。
Fleet利用etcd,一個和Core OS一起做出來被系統(tǒng)化的鍵值對,對于Linux來說是一個系統(tǒng)和service管理員。系統(tǒng)化是為單個容器設(shè)計(jì),但是fleet延展它的性能到一個集群的機(jī)器。Fleet通過允許你運(yùn)行service的一些實(shí)例,來幫助項(xiàng)目應(yīng)對故障。它可以部署單個的容器到任意本地,運(yùn)行容器在一個或者多個機(jī)器上,并且部署一個容器的多個實(shí)例。
從另一個方面來說,F(xiàn)leet并不適用于處理一些像服務(wù)注冊,在調(diào)度基礎(chǔ)上利用,服務(wù)發(fā)現(xiàn)或者容器間的交流這些在分布式微服務(wù)環(huán)境中發(fā)生的情況。Fleet在這四個工具中屬于比較低調(diào)的引擎,所以它最好處于一個像Kubernetes或者其它解決方案可以在上面操作的層次。
現(xiàn)今的企業(yè)需要能夠滿足他們需求不會出現(xiàn)故障的冗余系統(tǒng)。另外,大數(shù)據(jù)和數(shù)據(jù)挖掘需要很多資源來過濾海量信息。除非這些公司適應(yīng)和修改他們的登錄信息系統(tǒng)的方式,不然他們面對更快、更靈活的競爭對手會很快失去陣地。在現(xiàn)在這個高速網(wǎng)絡(luò)規(guī)模的時代,修復(fù)單個機(jī)器不是一個有效的解決方法。分布式系統(tǒng)允許你快速調(diào)度出故障的機(jī)器到垃圾箱,并且重新分配資源到健康集群的節(jié)點(diǎn)上。這就是管理Docker和其它容器集群重要性。
原文鏈接
(如果需要轉(zhuǎn)載,請聯(lián)系我們哦,尊重知識產(chǎn)權(quán)人人有責(zé):)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/32452.html
摘要:王磊此次演講的題目為容器新技術(shù)架構(gòu)下的運(yùn)維實(shí)踐,詳細(xì)為大家講解了在基于構(gòu)建容器的過程中,如何以應(yīng)用為中心,通過新的技術(shù)工具對服務(wù)節(jié)點(diǎn)集群平臺等多個方面進(jìn)行管理運(yùn)維,提高系統(tǒng)的自動化運(yùn)維能力。 2018年11月16-17日,運(yùn)維&容器技術(shù)盛會 CNUTCon 全球運(yùn)維技術(shù)大會在上海·光大會展中心成功舉辦。時速云聯(lián)合創(chuàng)始人兼 CTO 王磊受邀參加此次大會,并發(fā)表主題演講。王磊此次演講的題目...
摘要:首先啟動該命令。這項(xiàng)機(jī)制在實(shí)際生產(chǎn)當(dāng)中無疑非常重要。那么下面我們回顧一下之前了解到的信息我們創(chuàng)建了一款小型動態(tài)微服務(wù)應(yīng)用,完全由構(gòu)成。在多數(shù)情況下,這能夠?yàn)閼?yīng)用后端服務(wù)建立起獨(dú)立的代理機(jī)制。 這次數(shù)人云與大家分享的文章里,主要介紹了Docker Swarm如何憑借革新對整體場景進(jìn)一步加以簡化。事實(shí)上,如今我們已經(jīng)可以輕松且直觀地構(gòu)建起一套Docker Swarm集群,快來一起體驗(yàn)一下吧...
摘要:因此,另一種解決辦法像這樣的工具,則只是將和進(jìn)行了結(jié)合,其功能尤其關(guān)注日志管理,比如格式檢查,日志語法分析,數(shù)據(jù)改進(jìn)地址地理位置信息,元數(shù)據(jù)標(biāo)簽等以及日志路由。 由Rancher社區(qū)維護(hù)的應(yīng)用商店最近迎來了兩個明星項(xiàng)目——SPM 和 Logsene,來自Sematext的監(jiān)控與日志工具。如果你已經(jīng)熟悉Logstash,Kibana,Prometheus,Grafana這些監(jiān)控或日志解決...
摘要:在我的前文容器可視化監(jiān)控中心搭建之中我們就實(shí)踐過容器的可視化監(jiān)控,在那篇文章中我們是使用了技術(shù)棧來完成的。 showImg(https://segmentfault.com/img/remote/1460000015484084); 概述 性能監(jiān)控是容器服務(wù)必不可少的基礎(chǔ)設(shè)施,容器化應(yīng)用運(yùn)行于宿主機(jī)上,我們需要知道該容器的運(yùn)行情況,包括 CPU使用率、內(nèi)存占用、網(wǎng)絡(luò)狀況以及磁盤空間等...
閱讀 2981·2021-11-24 09:39
閱讀 2558·2019-08-30 15:53
閱讀 3085·2019-08-30 13:47
閱讀 1393·2019-08-30 12:50
閱讀 1540·2019-08-29 16:31
閱讀 2701·2019-08-29 13:14
閱讀 1638·2019-08-29 10:55
閱讀 864·2019-08-26 13:32