偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Kubernetes、Docker Swarm與Amazon ECS之間的容器之爭(zhēng)

譯文
云計(jì)算
容器技術(shù)的原型開始于1970年末,但直到2013年Docker的問(wèn)世,容器才成為了主流技術(shù)。在本文中,我將通過(guò)比較三大容器編排領(lǐng)域的主流工具,以幫助您選出合適自己的工具。

【51CTO.com快譯】容器技術(shù)的原型開始于1970年末,但直到2013年Docker的問(wèn)世,容器才成為了主流技術(shù)。在此之后,隨著各種容器技術(shù)在業(yè)界的發(fā)力,它們極大地改變了DevOps的企業(yè)實(shí)踐,同時(shí)也改變了我們構(gòu)建、傳輸和運(yùn)行各種分布式應(yīng)用的方式。Docker與容器可謂是比翼雙飛、同步發(fā)展。

容器編排工具為您在多個(gè)主機(jī)之間協(xié)同地創(chuàng)建、管理和更新多個(gè)容器,提供了實(shí)用且強(qiáng)大的解決方案。同時(shí),編排工具也能夠讓您異步地在不同服務(wù)和任務(wù)進(jìn)程之間共享數(shù)據(jù)。在生產(chǎn)環(huán)境中,您可以在多個(gè)服務(wù)器之上,運(yùn)行單個(gè)服務(wù)的多個(gè)實(shí)例,從而使得單個(gè)應(yīng)用具有高可用性。可以說(shuō)編排越簡(jiǎn)單,我們就越能夠深入到某個(gè)應(yīng)用之中,將其分解成更多、更小的微服務(wù)。當(dāng)然,這自然會(huì)引出一個(gè)新的問(wèn)題:我們應(yīng)當(dāng)選擇哪一種工具來(lái)進(jìn)行編排呢?

在本文中,我將通過(guò)比較三大容器編排領(lǐng)域的主流工具,以幫助您選出合適自己的工具。

總述

在很大程度上,容器的編排需要依賴于您的基礎(chǔ)架構(gòu)。這就意味著您需要充分了解這些方案是如何與當(dāng)前的云提供商、以及本地部署方案相集成的。您是愿意全盤使用某一家云供應(yīng)商的整體工具套件呢,還是需要有多元化的組件?

Kubernetes如今已在容器編排領(lǐng)域占有統(tǒng)治性地位。它的可配置性、可靠性和所擁有的強(qiáng)大社區(qū),已遠(yuǎn)超過(guò)Docker Swarm。由于是Google所創(chuàng)建的開源項(xiàng)目,Kubernetes能與Google的整個(gè)云平臺(tái)和諧共處。而且,它幾乎能在任何基礎(chǔ)架構(gòu)上順暢運(yùn)行。

Swarm是Docker自有的一種編排工具。通過(guò)集成到Docker Engine中,它能夠使用標(biāo)準(zhǔn)化的API與網(wǎng)絡(luò)。通過(guò)內(nèi)置Docker CLI(命令行界面),Swarm Mode在不需要被額外安裝的情況下,就能方便地調(diào)用新的Swarm命令。您可以使用命令 -- docker service create來(lái)部署一項(xiàng)服務(wù)。同時(shí),Docker Swarm在性能、靈活性和簡(jiǎn)易性上的優(yōu)勢(shì),能夠與Kubernetes的統(tǒng)治地位相抗衡。

Amazon Elastic Container Service(ECS)是亞馬遜專有的容器調(diào)度程序。它被設(shè)計(jì)為能夠與AWS的其他服務(wù)協(xié)同工作。這就意味著那些以AWS為核心的解決方案,如監(jiān)控、負(fù)載均衡和存儲(chǔ)等,都能夠方便地被集成到您的服務(wù)之中。如果您使用的并非是亞馬遜所提供的云服務(wù),或者在本地運(yùn)行您的工作負(fù)載的話,ECS就不一定合適了。

Kubernetes

Kubernetes,常被縮寫為K8s或Kube,它專注于Linux容器開發(fā)15年,是Google針對(duì)容器管理的開源方案。它能夠工作在多個(gè)云提供商的多種生產(chǎn)環(huán)境之中,包括裸金屬(bare metal)云服務(wù)架構(gòu)和本地虛擬機(jī)、以及混合云等模式。

Kubernetes的集群包括如下重要組件:

  • Pods:在同一節(jié)點(diǎn)上創(chuàng)建、調(diào)度和部署出一組、或多組容器。
  • Labels:是被分配出來(lái)用于標(biāo)識(shí)各種pod、service和replication controllers鍵值(key-value)的標(biāo)簽(如:名稱)。
  • Services:為一組pod提供名稱,如負(fù)載均衡器一般,將流量引入正在運(yùn)行的容器之中。
  • Replication controllers:一種框架,它負(fù)責(zé)確保特定數(shù)量pod的副本能在任何給定時(shí)刻按照調(diào)度運(yùn)行。

在這三種工具中,數(shù)Kubernetes的安裝最為復(fù)雜,當(dāng)然如果您能使用正確的工具,那么其過(guò)程會(huì)簡(jiǎn)化許多。

  • Kubeadm(https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/)能夠提供很好的、與現(xiàn)有編排系統(tǒng)、或裸金屬環(huán)境的集成。
  • Helm(https://github.com/kubernetes/helm)是一種能夠優(yōu)化安裝、并管理Kubernetes各種應(yīng)用的流行工具。

Kube的一個(gè)主要優(yōu)點(diǎn)是:您對(duì)于配置具有***控制權(quán)。另外,一些常見(jiàn)的平臺(tái)也有著大量的文檔,可以支持您的定制化設(shè)置。因此,在遇到任何問(wèn)題的時(shí)候,您都可以在Stack、Overflow和GitHub上通過(guò)大量的社區(qū)用戶與資源,來(lái)尋求幫助與支持。

Docker Swarm

Docker Swarm擴(kuò)展了單主機(jī)的Docker模式,它允許開發(fā)人員快速、方便地部署多個(gè)容器與微服務(wù)。由于已被內(nèi)置于Docker Engine之中,因此它是三種工具中最輕量級(jí)、且最容易轉(zhuǎn)換的工具。

Swarm的集群包括如下重要組件:

  • Manager nodes:用于控制編排、集群管理和任務(wù)分配。
  • Worker nodes:其唯一的功能就是運(yùn)行由Manager Node所分配的容器和服務(wù)。
  • Services:描述了您希望單個(gè)容器將如何在不同節(jié)點(diǎn)之間分發(fā)。如果您想創(chuàng)建服務(wù),請(qǐng)?jiān)谄胀―ocker運(yùn)行時(shí)指定確切的信息,再添加好新的參數(shù)(如:容器的副本數(shù)量)。
  • Tasks:是Swarm的基本單位。Manager Node根據(jù)在服務(wù)描述中設(shè)置的副本數(shù)量把任務(wù)分配該Worker Nodes。一旦一個(gè)任務(wù)被分配給了某個(gè)節(jié)點(diǎn),它就不能被移到其他節(jié)點(diǎn)上。

Swarm適用于剛開始接觸容器、以及不需要去逐個(gè)配置細(xì)節(jié)的用戶。另外,Swarm還能讓您方便地?cái)U(kuò)展出大量的容器。

由于已被內(nèi)置于Docker Engine之中,Swarm Mode并不需要被額外地進(jìn)行安裝。Docker 1.12及其更高版本都具有此功能。

Kubernetes、Docker Swarm與Amazon ECS之間的容器之爭(zhēng)

Amazon Elastic Container Service(ECS)

Amazon ECS是AWS自創(chuàng)的容器管理服務(wù),也是一項(xiàng)兼容Docker的服務(wù)。它能讓您在EC2的實(shí)例上運(yùn)行容器化的應(yīng)用,因此它是Kube和Swarm的一種替代方案。

雖然Docker本身非常簡(jiǎn)單,但是亞馬遜的ECS卻是一種比較復(fù)雜的工具,因此您必須去學(xué)習(xí)整個(gè)全新的平臺(tái)。ECS包含有如下組件:

  • ECS clusters:是運(yùn)行各項(xiàng)任務(wù)的EC2實(shí)例組。
  • Task definition:是一份JSON格式的文本文件,其中包含Docker的運(yùn)行命令,以及應(yīng)該在哪一臺(tái)主機(jī)上運(yùn)行哪些容器的細(xì)節(jié)。
  • Service:是用于在整個(gè)集群上運(yùn)行和維護(hù)指定數(shù)量的、各種任務(wù)定義實(shí)例的工具。
  • Service scheduler:能夠持續(xù)監(jiān)控運(yùn)行的任務(wù),以確保具有合理的在線服務(wù)數(shù)量,并能在任何失敗出現(xiàn)時(shí)重新安排任務(wù)的上線。
  • Container agents:此功能可以幫助您將各個(gè)集群的實(shí)例與容器相連接。

Amazon ECS***程度地方便了不同的容器,與AWS的其他服務(wù)之間的無(wú)縫集成。它是一種能夠提供高可用性、可伸縮性和安全性的完全托管服務(wù)。而且AWS的標(biāo)準(zhǔn)支持計(jì)劃本身就已經(jīng)將ECS包含在內(nèi)了。

綜述

可見(jiàn),如何選擇適當(dāng)?shù)娜萜骶幣殴ぞ?,完全取決于您需求的側(cè)重點(diǎn),同時(shí)也要兼顧您所需要協(xié)同使用的技術(shù)。如果您的應(yīng)用與AWS密切相關(guān),那么選用ECS肯定會(huì)比Kubernetes更合理。反之,如果您使用Google云作為提供商,而且熱衷于各種配置,并愿意為***的服務(wù)付出復(fù)雜性和精力的話,那么Kubernetes一定是您的***。

原文標(biāo)題:Container Wars:Kubernetes vs. Docker Swarm vs. Amazon ECS,作者:Julia Pearson

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來(lái)源: 51CTO.com
相關(guān)推薦

2016-03-02 18:22:27

云容器Google容器引擎Amazon

2023-09-04 15:09:03

容器編排工具KubernetesDocker

2024-01-02 08:00:00

云計(jì)算容器Docker

2020-07-06 07:52:10

Kubernetes網(wǎng)絡(luò)通信

2020-11-03 10:23:22

云計(jì)算容器技術(shù)

2014-11-19 11:12:37

谷歌Amazon

2020-09-02 14:40:27

Docker Swar命令Linux

2014-12-15 10:40:40

DockerSwarm集群管理

2016-12-01 13:37:42

OpenStack MDocker Swar容器

2014-11-18 11:37:46

dockeramazonGoogle

2016-01-11 10:07:27

容器Kubernetes

2019-05-14 14:27:36

KubernetesDocker存儲(chǔ)

2019-12-04 11:00:42

前端DockerKubernetes

2014-12-18 13:20:09

Docker容器鏡像數(shù)據(jù)卷

2016-11-16 19:28:04

容器技術(shù)

2019-11-11 21:34:33

DockerKubernetes容器

2023-10-10 17:09:19

2023-08-28 16:10:00

容器化DockerKubernetes

2020-01-09 15:28:30

KubernetesDocker:容器

2017-11-07 12:15:26

Docker容器云端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)