14個(gè)用于DevOps的容器編排工具

什么是容器編排划滋?

如今饵筑,像Docker這樣的容器平臺(tái)非常流行,用于基于微服務(wù)架構(gòu)的應(yīng)用程序打包古毛》妫可以使容器具有高度可伸縮性,可以按需創(chuàng)建容器稻薇。雖然這對(duì)于幾個(gè)容器來說是很好的嫂冻,但請(qǐng)想象您有數(shù)百個(gè)。

當(dāng)數(shù)量隨需求動(dòng)態(tài)增加時(shí)塞椎,管理容器生命周期及其管理變得極為困難桨仿。

容器編排通過自動(dòng)化容器的調(diào)度,部署案狠,可伸縮性服傍,負(fù)載平衡,可用性和聯(lián)網(wǎng)來解決該問題骂铁。容器編排是容器和服務(wù)生命周期的自動(dòng)化和管理吹零。

1.Kubernetes

Kubernetes是一個(gè)開源平臺(tái),最初由Google設(shè)計(jì)拉庵,現(xiàn)在由Cloud Native Computing Foundation維護(hù)灿椅。Kubernetes支持聲明性配置和自動(dòng)化。它可以幫助自動(dòng)化容器化工作負(fù)載和服務(wù)的部署钞支,擴(kuò)展和管理茫蛹。

Kubernetes API有助于在用戶,集群組件和外部第三方組件之間建立通信烁挟。Kubernetes控制平面婴洼,并且節(jié)點(diǎn)在一組一起構(gòu)成集群的節(jié)點(diǎn)上運(yùn)行。應(yīng)用程序工作負(fù)載由一個(gè)或多個(gè)在工作程序節(jié)點(diǎn)上運(yùn)行的Pod組成撼嗓〖聿桑控制平面管理Pod和工作程序節(jié)點(diǎn)欢唾。

2.OpenShift

它基于Redhat企業(yè)Linux和Kubernetes引擎構(gòu)建。Openshift具有多種功能警没,可通過UI和CLI管理集群匈辱。Redhat還提供了Openshift的兩個(gè)變體,

· Openshift Online –作為軟件即服務(wù)(SaaS)提供

· OpenShift專用–作為托管服務(wù)提供

Openshift Origin(原始社區(qū)分發(fā))是一個(gè)開源上游社區(qū)項(xiàng)目杀迹,在OpenShift Container Platform亡脸,Openshift Online和OpenShift Dedicated中使用。

3.Nomad

Nomad是一個(gè)簡單树酪,靈活且易于使用的工作負(fù)載協(xié)調(diào)器浅碾,可在內(nèi)部部署和云范圍內(nèi)大規(guī)模部署和管理容器和非容器化應(yīng)用程序。Nomad以單個(gè)二進(jìn)制文件的形式運(yùn)行续语,占用資源少(35MB)垂谢,并在macOS,Windows和Linux上受支持疮茄。

開發(fā)人員使用聲明性基礎(chǔ)架構(gòu)代碼(IaC)來部署其應(yīng)用程序滥朱,并定義應(yīng)如何部署應(yīng)用程序。Nomad會(huì)自動(dòng)從故障中恢復(fù)應(yīng)用程序力试。

任何類型的Nomad Orchestrate應(yīng)用程序(不僅是容器)徙邻。它為Docker,Windows畸裳,Java缰犁,VM等提供一流的支持。

特征

· 簡單可靠

· 使舊版應(yīng)用程序現(xiàn)代化怖糊,而無需重寫

· 輕松規(guī)模聯(lián)盟

· 經(jīng)驗(yàn)證的可擴(kuò)展性

· 輕松多云

· 與Terraform帅容,Consul和Vault的本機(jī)集成

4.Docker Swarm

Docker Swarm使用聲明性模型。您可以定義服務(wù)的所需狀態(tài)伍伤,Docker將維護(hù)該狀態(tài)并徘。Docker Enterprise Edition已將Kubernetes與Swarm集成在一起。Docker現(xiàn)在提供了編排引擎選擇的靈活性扰魂。Docker引擎CLI用于創(chuàng)建大量Docker引擎麦乞,可在其中部署應(yīng)用程序服務(wù)。

Docker Swarm由兩個(gè)主要組件組成:

· 管理器–管理器節(jié)點(diǎn)將任務(wù)分配給集群中的工作器節(jié)點(diǎn)阅爽。根據(jù)Raft共識(shí)算法選舉領(lǐng)導(dǎo)者路幸。領(lǐng)導(dǎo)負(fù)責(zé)處理所有群集管理和任務(wù)編排決策荐开。

· 工作節(jié)點(diǎn)-工作節(jié)點(diǎn)從管理節(jié)點(diǎn)接收任務(wù)并執(zhí)行付翁。

特征

· 與Docker Engine集成的集群管理

· 分散式設(shè)計(jì)

· 聲明式服務(wù)模型

· 縮放比例

· 所需狀態(tài)對(duì)帳

· 多主機(jī)聯(lián)網(wǎng)

· 服務(wù)發(fā)現(xiàn)

· 負(fù)載均衡

· 默認(rèn)安全

· 滾動(dòng)更新

5.Docker Compose

Docker Compose用于定義和運(yùn)行可協(xié)同工作的多容器應(yīng)用程序。Docker-compose描述了相互共享的服務(wù)組晃听,這些服務(wù)組共享軟件依賴關(guān)系百侧,并進(jìn)行編排和擴(kuò)展砰识。

您可以使用YAML文件(dockerfile)來配置應(yīng)用程序的服務(wù)。然后佣渴,使用docker-compose up命令辫狼,從您的配置中創(chuàng)建并啟動(dòng)所有服務(wù)。

docker-compose.yml如下所示:

version:?'3'
volumes:
??app_data:
services:
??elasticsearch:
????image:?docker.elastic.co/elasticsearch/elasticsearch:6.8.0
????ports:
??????-?9200:9200
??????-?9300:9300
????volumes:
??????-?./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
??????-?./elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12
??????-?./docker-data-volumes/elasticsearch:/usr/share/elasticsearch/data

??kibana:
????depends_on:
??????-?elasticsearch
????image:?docker.elastic.co/kibana/kibana:6.8.0
????ports:
??????-?5601:5601
????volumes:
??????-?./kibana.yml:/usr/share/kibana/config/kibana.yml
??app:
????depends_on:
??????-?elasticsearch
????image:?asadali08527/app:latest
????ports:
??????-?8080:8080
????volumes:
??????-?app_data:/var/lib/app/

可以使用Docker Compose將應(yīng)用程序代碼分解為幾個(gè)獨(dú)立運(yùn)行的服務(wù)辛润,這些服務(wù)使用內(nèi)部網(wǎng)絡(luò)進(jìn)行通信膨处。該工具提供了用于管理應(yīng)用程序整個(gè)生命周期的CLI。Docker Compose傳統(tǒng)上一直專注于開發(fā)和測(cè)試工作流砂竖,但現(xiàn)在他們專注于更多面向生產(chǎn)的功能真椿。

Docker Engine可以是配備有Docker Machine或整個(gè)Docker Swarm集群的獨(dú)立實(shí)例。

特征

· 單個(gè)主機(jī)上的多個(gè)隔離環(huán)境

· 創(chuàng)建容器時(shí)保留卷數(shù)據(jù)

· 僅重新創(chuàng)建已更改的容器

· 變量和環(huán)境之間的合成移動(dòng)

6.Minikube

Minikube允許用戶在本地運(yùn)行Kubernetes乎澄。使用Minikube突硝,您可以在個(gè)人計(jì)算機(jī)上的單節(jié)點(diǎn)Kubernetes群集內(nèi)本地測(cè)試應(yīng)用程序。Minikube對(duì)Kubernetes儀表板提供了集成支持置济。

Minikube運(yùn)行Kubernetes的最新穩(wěn)定版本并支持以下功能解恰。

· 負(fù)載均衡

· 多集群

· 持久卷

· 節(jié)點(diǎn)端口

· ConfigMap和秘密

· 容器運(yùn)行時(shí):Docker,CRI-O和容器化

· 啟用CNI(容器網(wǎng)絡(luò)接口)

7.Marathon

Marathon適用于Apache Mesos浙于,它具有協(xié)調(diào)應(yīng)用程序和框架的能力护盈。

Apache Mesos是一個(gè)開源集群管理器。Mesos是Apache的一個(gè)項(xiàng)目路媚,能夠運(yùn)行容器化和非容器化工作負(fù)載黄琼。Mesos群集中的主要組件是Mesos代理節(jié)點(diǎn),Mesos主服務(wù)器整慎,ZooKeeper脏款,框架–框架與主框架協(xié)調(diào)以將任務(wù)調(diào)度到代理節(jié)點(diǎn)上。用戶與Marathon框架進(jìn)行交互以安排作業(yè)裤园。

Marathon調(diào)度程序使用ZooKeeper來定位當(dāng)前的主機(jī)以提交任務(wù)撤师。馬拉松調(diào)度程序和Mesos主服務(wù)器具有運(yùn)行中的輔助主服務(wù)器,以確保高可用性拧揽√甓埽客戶端使用REST API與Marathon進(jìn)行交互。

特征

· 高可用性

· 有狀態(tài)的應(yīng)用

· 美麗而強(qiáng)大的用戶界面

· 約束條件

· 服務(wù)發(fā)現(xiàn)和負(fù)載平衡

· 健康檢查

· 活動(dòng)訂閱

· 指標(biāo)

· REST API

8.Cloudify

Cloudify是一個(gè)開源的云編排工具淤袜,用于容器和微服務(wù)的部署自動(dòng)化以及生命周期管理痒谴。它提供了一些功能,例如按需群集铡羡,自動(dòng)修復(fù)以及在基礎(chǔ)架構(gòu)級(jí)別進(jìn)行擴(kuò)展积蔚。Cloudify可以管理容器基礎(chǔ)架構(gòu)并協(xié)調(diào)在容器平臺(tái)上運(yùn)行的服務(wù)。

它可以輕松地與Docker和基于Docker的容器管理器集成烦周,包括以下內(nèi)容尽爆。

· Docker Swarm

· Docker撰寫

· Kubernetes

· Apache Mesos

Cloudify可以幫助創(chuàng)建怎顾,修復(fù),擴(kuò)展和拆除容器集群漱贱。容器編排是提供可運(yùn)行的容器管理器的可擴(kuò)展且高度可用的基礎(chǔ)結(jié)構(gòu)的關(guān)鍵槐雾。Cloudify提供了跨平臺(tái)協(xié)調(diào)異構(gòu)服務(wù)的能力。您可以使用CLI和Cloudify Manager部署應(yīng)用程序幅狮。

9.Rancher

Rancher是一個(gè)使用容器編排(稱為牛)的開源平臺(tái)募强。它使您可以利用Kubernetes,Swarm崇摄,Mesos等編排服務(wù)钻注。Rancher提供了管理容器所需的軟件,因此組織無需使用一套獨(dú)特的開源技術(shù)從頭開始構(gòu)建容器服務(wù)平臺(tái)配猫。

Rancher 2.x允許管理在客戶指定的提供商上運(yùn)行的Kubernetes集群幅恋。

Rancher入門需要兩個(gè)步驟。

1.準(zhǔn)備Linux主機(jī) 準(zhǔn)備一個(gè)具有64位Ubuntu 16.04或18.04(或其他受支持的Linux發(fā)行版泵肄,至少有4GB內(nèi)存)的Linux 主機(jī)捆交。在該主機(jī)上安裝受支持的Docker版本。

2.啟動(dòng)服務(wù)器 要安裝和運(yùn)行Rancher腐巢,請(qǐng)?jiān)谥鳈C(jī)上執(zhí)行以下Docker命令:

$?sudo?docker?run?-d?--restart=unless-stopped?-p?80:80?-p?443:443?rancher/rancher

用戶界面允許管理數(shù)千個(gè)Kubernetes集群和節(jié)點(diǎn)品追。

10.Containership

Containership用于實(shí)現(xiàn)多云Kubernetes基礎(chǔ)架構(gòu)的部署和管理。通過單個(gè)工具可以靈活地在公共冯丙,私有云和本地環(huán)境中進(jìn)行操作肉瓦。它使您能夠跨所有主要云提供商配置,管理和監(jiān)視您的Kubernetes集群胃惜。

使用云原生工具(例如用于配置的Terraform泞莉, Prometheus進(jìn)行監(jiān)視以及Calico進(jìn)行網(wǎng)絡(luò)和策略管理。它建立在香草Kubernetes的頂部船殉。Containership平臺(tái)提供直觀的儀表板鲫趁,以及用于復(fù)雜自動(dòng)化的強(qiáng)大REST API。

特征

· 多云儀表板

· 審核日志

· GPU實(shí)例支持

· 無中斷升級(jí)

· 可調(diào)度大師

· 綜合指標(biāo)

· 實(shí)時(shí)記錄

· 零停機(jī)時(shí)間部署

· 持久存儲(chǔ)支持

· 私人注冊(cè)支持

· 工作負(fù)載自動(dòng)縮放

· SSH密鑰管理

11.AZK

AZK是一個(gè)通過清單文件(Azkfile.js)用于開發(fā)環(huán)境的開源編排工具利虫,該文件可幫助開發(fā)人員安裝挨厚,配置和運(yùn)行用于使用不同開源技術(shù)開發(fā)Web應(yīng)用程序的常用工具。

AZK使用容器而不是虛擬機(jī)糠惫。容器就像虛擬機(jī)一樣疫剃,具有更好的性能和更低的物理資源消耗。

可以重復(fù)使用Azkfile.js文件來添加新組件或從頭開始創(chuàng)建新組件硼讽。它可以共享巢价,從而確保不同編程器機(jī)器上的開發(fā)環(huán)境之間的總體平衡,并減少部署期間發(fā)生錯(cuò)誤的機(jī)會(huì)。

12.GKE

GKE為Google Cloud Platform上的容器應(yīng)用程序編排提供了完全托管的解決方案蹄溉。GKE集群由Kubernetes提供支持。您可以使用Kubernetes CLI與集群進(jìn)行交互您炉。Kubernetes命令可用于部署和管理應(yīng)用程序柒爵,執(zhí)行管理任務(wù),設(shè)置策略以及監(jiān)視已部署工作負(fù)載的運(yùn)行狀況赚爵。

Google Cloud的高級(jí)管理功能也可用于GKE集群棉胀,例如Google Cloud的負(fù)載平衡,節(jié)點(diǎn)池冀膝,節(jié)點(diǎn)的自動(dòng)擴(kuò)展唁奢,自動(dòng)升級(jí),節(jié)點(diǎn)自動(dòng)修復(fù)窝剖,日志記錄以及使用Google Cloud的操作套件進(jìn)行監(jiān)視麻掸。

Google Cloud提供CI / CD工具來幫助您構(gòu)建和提供應(yīng)用程序容器。您可以使用Cloud Build從各種源代碼存儲(chǔ)庫構(gòu)建容器映像(例如Docker)赐纱,并可以使用Container Registry存儲(chǔ)容器映像脊奋。

GKE是具有預(yù)建部署模板的企業(yè)就緒解決方案。

13.AKS

AKS是Azure提供的完全托管的Kubernetes服務(wù)疙描,它提供無服務(wù)器的Kubernetes诚隙,安全性和治理。AKS管理您的Kubernetes集群起胰,并允許您輕松部署容器化的應(yīng)用程序久又。AKS自動(dòng)配置所有Kubernetes主節(jié)點(diǎn)和節(jié)點(diǎn)。您只需要管理和維護(hù)代理節(jié)點(diǎn)效五。

AKS是免費(fèi)的地消;您只需為集群中的代理節(jié)點(diǎn)付費(fèi),而無需為主節(jié)點(diǎn)付費(fèi)畏妖。您可以在Azure門戶中或以編程方式創(chuàng)建AKS群集犯建。Azure還支持其他功能,例如高級(jí)網(wǎng)絡(luò)瓜客,Azure Active Directory集成以及使用Azure Monitor的監(jiān)視适瓦。

AKS還支持Windows Server容器∑滓牵可以從Azure Monitor監(jiān)視其群集和已部署的應(yīng)用程序性能玻熙。日志存儲(chǔ)在Azure Log Analytics工作區(qū)中。

AKS已通過Kubernetes認(rèn)證疯攒。

14.AWS EKS

AWS EKS是一項(xiàng)完全托管的Kubernetes服務(wù)嗦随。AWS允許您使用AWS Fragrate(一種用于容器的無服務(wù)器計(jì)算)運(yùn)行EKS集群。Fragrance消除了調(diào)配和管理服務(wù)器的需要,從而允許為每個(gè)應(yīng)用程序按資源付費(fèi)枚尼。

AWS允許通過EKS使用其他功能贴浙,例如Amazon CloudWatch,Amazon虛擬私有云(VPC)署恍,AWS Identity崎溃,Auto Scaling組和訪問管理(IAM),監(jiān)控盯质,擴(kuò)展和負(fù)載平衡應(yīng)用程序袁串。EKS與AWS App Mesh集成在一起并提供Kubernetes原生體驗(yàn)。EKS運(yùn)行最新的Kubernetes并通過Kubernetes認(rèn)證呼巷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末囱修,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子王悍,更是在濱河造成了極大的恐慌破镰,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件压储,死亡現(xiàn)場離奇詭異啤咽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)渠脉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門宇整,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芋膘,你說我怎么就攤上這事持灰∑┫” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叹谁。 經(jīng)常有香客問我蜕猫,道長祭阀,這世上最難降的妖魔是什么惦界? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮霞溪,結(jié)果婚禮上孵滞,老公的妹妹穿的比我還像新娘。我一直安慰自己鸯匹,他們只是感情好坊饶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著殴蓬,像睡著了一般匿级。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天痘绎,我揣著相機(jī)與錄音津函,去河邊找鬼。 笑死孤页,一個(gè)胖子當(dāng)著我的面吹牛尔苦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播散庶,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼凌净!你這毒婦竟也來了悲龟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤须教,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后轻腺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贬养,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了误算。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡儿礼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蚊夫,到底是詐尸還是另有隱情,我是刑警寧澤懦尝,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站陵霉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏撩匕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望模蜡。 院中可真熱鬧,春花似錦忍疾、人聲如沸闯传。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽甥绿。三九已至,卻和暖如春则披,著一層夾襖步出監(jiān)牢的瞬間共缕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國打工士复, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留图谷,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓阱洪,卻偏偏與公主長得像便贵,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子冗荸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353