您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)14個(gè)用于DevOps的容器編排工具分別是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
什么是容器編排?
如今,像Docker這樣的容器平臺(tái)非常流行,用于基于微服務(wù)架構(gòu)的應(yīng)用程序打包??梢允谷萜骶哂懈叨瓤缮炜s性,可以按需創(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提供了OpenShift容器平臺(tái)即服務(wù)(PaaS)。它有助于在混合云環(huán)境中自動(dòng)化安全和可擴(kuò)展資源上的應(yīng)用程序。它提供了用于構(gòu)建,部署和管理容器化應(yīng)用程序的企業(yè)級(jí)平臺(tái)。 它基于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è)簡(jiǎn)單,靈活且易于使用的工作負(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等提供一流的支持。
特征
· 簡(jiǎn)單可靠
· 使舊版應(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命令用于與集群進(jìn)行交互。加入集群的機(jī)器稱為節(jié)點(diǎn),而Swarm管理器處理集群的活動(dòng)。
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ù)器,以確保高可用性??蛻舳耸褂肦EST 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ǔ)庫(kù)構(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)證。
以上就是14個(gè)用于DevOps的容器編排工具分別是什么,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。