亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

從容器到容器編排

Hydrogen / 1105人閱讀

摘要:從容器到容器編排平臺(tái)以及周邊生態(tài)系統(tǒng)包含很多工具來(lái)管理容器的生命周期。終止運(yùn)行中的容器。發(fā)現(xiàn)在由運(yùn)行于多個(gè)主機(jī)上的容器組成的分布式部署容器發(fā)現(xiàn)至關(guān)重要。類似的,當(dāng)容器崩潰時(shí),編排工具可以啟動(dòng)替換。

從容器到容器編排

Docker平臺(tái)以及周邊生態(tài)系統(tǒng)包含很多工具來(lái)管理容器的生命周期。例如,Docker Command Line Interface(CLI)支持下面的容器活動(dòng):

從注冊(cè)表中拉取倉(cāng)庫(kù)。

運(yùn)行容器并可選的附加一個(gè)終端給它。

將容器提交新鏡像。

上傳鏡像到注冊(cè)中心。

終止運(yùn)行中的容器。

CLI滿足在單個(gè)主機(jī)上管理容器的需求,但是面對(duì)部署在多個(gè)主機(jī)上的容器時(shí)就無(wú)所適從了。為了超越單個(gè)容器管理,我們必須轉(zhuǎn)向編排工具(業(yè)務(wù)流程工具)。

編排工具將生命周期管理能力擴(kuò)展到部署在大量機(jī)器集群上部署的復(fù)雜的、多容器工作負(fù)載。

通過(guò)抽象主機(jī)基礎(chǔ)結(jié)構(gòu), 編排工具允許用戶將整個(gè)集群視為單個(gè)部署目標(biāo)。

基本特征(Baseline Features)

編排過(guò)程一般涉及應(yīng)用管理所有方面自動(dòng)化的工具,例如初始布局、調(diào)度和部署到穩(wěn)態(tài)活動(dòng)例如更新、部署,支持?jǐn)U展和故障轉(zhuǎn)移的更新和健康監(jiān)控功能。這些能力已經(jīng)成為用戶希望現(xiàn)代容器編排工具提供的核心特點(diǎn)中的一部分。

聲明配置

編排工具為DevOps團(tuán)隊(duì)提供了一個(gè)用于聲明應(yīng)用負(fù)載和它的標(biāo)準(zhǔn)方案配置的藍(lán)圖選項(xiàng), 它們使用yaml或json格式。 這些定義還包含支持工作負(fù)載的倉(cāng)庫(kù)、網(wǎng)絡(luò)(ports)、存儲(chǔ)(volumes)和日志的信息。這種方法允許編排工具多次應(yīng)用同一配置,并且總是在目標(biāo)系統(tǒng)上產(chǎn)生相同的結(jié)果。 它還允許工具在同一個(gè)應(yīng)用的不同階段, 例如開(kāi)發(fā)階段、測(cè)試階段和生產(chǎn)階段接受不同的配置。

規(guī)則和限制

工作負(fù)載通常對(duì)主機(jī)放置、性能和高可用具有特殊的策略或要求。例如,在同一主機(jī)上提供主備數(shù)據(jù)庫(kù)容器是無(wú)意義的;它破壞了目的性。類似的,在web服務(wù)器同一機(jī)器上放置內(nèi)存緩存可能是個(gè)好主意。 編排工具支持定義容易放置的親和性和約束的機(jī)制。

Provisioning

供應(yīng)(Provisioning)或調(diào)度是處理容器在集群中的放置和啟動(dòng)的。這個(gè)過(guò)程包括根據(jù)配置選擇合適的主機(jī)。除了容器提供API, 編排工具也涉及針對(duì)主機(jī)環(huán)境的基礎(chǔ)設(shè)施API。

發(fā)現(xiàn)

在由運(yùn)行于多個(gè)主機(jī)上的容器組成的分布式部署, 容器發(fā)現(xiàn)至關(guān)重要。Web服務(wù)器需要?jiǎng)討B(tài)發(fā)現(xiàn)數(shù)據(jù)庫(kù)服務(wù)器,負(fù)載均衡需要發(fā)現(xiàn)并注冊(cè)web服務(wù)器。 編排工具提供或期望有一個(gè)分布式key-value存儲(chǔ), 輕量級(jí)DNS或一些其他能夠發(fā)現(xiàn)容器的機(jī)制。

健康監(jiān)控

既然編排工具知道系統(tǒng)的期望配置,所以它們能夠唯一的監(jiān)控系統(tǒng)容器和主機(jī)的健康情況。在主機(jī)故障的情況下,這個(gè)工具可以重新定位容器。類似的,當(dāng)容器崩潰時(shí),編排工具可以啟動(dòng)替換。編排工具確保部署始終處于開(kāi)發(fā)人員或操作人員聲明的期望狀態(tài)。

仔細(xì)看看三種流行的編排工具 Docker Swarm

Docker Swarm的目標(biāo)是使用和核心Docker引擎一起工作同樣的Docker API。API端點(diǎn)的目標(biāo)不是代表一個(gè)Docker引擎,Swarm透明的處理與Docker引擎池相關(guān)聯(lián)的端點(diǎn)。這種方法的關(guān)鍵優(yōu)勢(shì)在于現(xiàn)有工具和API能夠和對(duì)待單個(gè)實(shí)例的相同方式對(duì)待集群。Docker的工具/CLI和Compose是開(kāi)發(fā)者如何創(chuàng)建它們應(yīng)用程序的,因此,它們不得不重新編排來(lái)容納一個(gè)編排器。

遵循Docker的"自帶電源、可移動(dòng)"的哲學(xué)思想,支持?jǐn)?shù)個(gè)發(fā)現(xiàn)后端,包括靜態(tài)文件和IP地址,etcd, Consul和ZooKeeper。調(diào)度策略也是可插拔的。

etcd: CoreOS 團(tuán)隊(duì)發(fā)起的一個(gè)管理配置信息和服務(wù)發(fā)現(xiàn)的項(xiàng)目。

Consul: 另外一個(gè)提供服務(wù)發(fā)現(xiàn)的工具,它是分布式的、高可用、橫向可擴(kuò)展的。

ZooKeeper: 一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等。

Docker Swarm由幾個(gè)內(nèi)置的調(diào)度策略組成,給予用戶指導(dǎo)容器放置的能力, 以最大化或最小化容器在集群中的擴(kuò)散。也支持隨機(jī)放置。

Docker尋址遵循"自帶電源,但可移動(dòng)"的原則,意思就是當(dāng)前只使用少量的簡(jiǎn)單調(diào)度后端搬運(yùn),但是將來(lái)通過(guò)可插拔接口它能支持額外的后端?;诮o定用例的規(guī)模和復(fù)雜度,開(kāi)發(fā)人員和操作人員可以選擇插入恰當(dāng)?shù)奶娲蠖恕?/p>

Docker Swarm支持確定容易在特定主機(jī)放置的約束和親和力。

約束(Constraints)定義了需要選擇用于調(diào)度的節(jié)點(diǎn)子集的要求。它們可以基于存儲(chǔ)類型、地理位置、環(huán)境以及內(nèi)核版本等屬性。
親和力(Affinity)定義了在主機(jī)上分配容器的需求。

為了在每個(gè)主機(jī)上發(fā)現(xiàn)容器,Swarm使用了可插拔后端架構(gòu),它與一個(gè)簡(jiǎn)單的托管發(fā)現(xiàn)服務(wù)、靜態(tài)文件、IP列表、etcd、Consul和ZooKeeper一起工作。

Swarm支持基本的將康監(jiān)控,這樣可以防止在故障主機(jī)上提供容器。

Kubernetes

來(lái)自Google - 聲稱每天處理20億容器的公司 - 的Kubernetes享有獨(dú)特的聲譽(yù)。

Kubernetes的架構(gòu)是基于一個(gè)帶有很多奴仆的主服務(wù)器。命令行工具叫做kubecfg, 連接主服務(wù)器端點(diǎn)API來(lái)管理和編排奴仆節(jié)點(diǎn)。下面是運(yùn)行在Kubernetes環(huán)境里邊的每個(gè)組件的定義:

Master: 運(yùn)行Kubernetes管理進(jìn)程的服務(wù)器,包括API服務(wù),替換控制器和調(diào)度器。

Minion: 運(yùn)行kubelet服務(wù)和Docker引擎的主機(jī)。Minions從master接收命令。

Kubelet: Kubernetes中的節(jié)點(diǎn)級(jí)別的管理器; 運(yùn)行在minion上的。

Pod: 部署在同一個(gè)minion上的容器集合。

Replication controller: 定義需要運(yùn)行的pods或容器數(shù)量。

Service: 定義允許發(fā)現(xiàn)由每個(gè)容器以及使用通信的外部代理發(fā)布的服務(wù)/ports。

Kubecfg: 和master溝通用于管理Kubernetes部署的命令行接口。

服務(wù)定義以及規(guī)則和約束是用JSON文件描述的。對(duì)于服務(wù)發(fā)現(xiàn),Kubernetes提供了一個(gè)穩(wěn)定的IP地址和相對(duì)于動(dòng)態(tài)的pods集合的DNS名。當(dāng)運(yùn)行在Kubernetes pod上的容器連接到這個(gè)地址,連接被一個(gè)本地代理(叫做kube-proxy)轉(zhuǎn)發(fā)到一個(gè)具體的后端容器。

Kubernetes支持用戶實(shí)現(xiàn)的應(yīng)用程序健康檢查。這些檢查由運(yùn)行在每個(gè)minion上的kubelet執(zhí)行, 以確保應(yīng)用程序正確操作。當(dāng)前,Kubernetes支持三種類型的健康檢查:

HTTP健康檢查: kubelet將調(diào)用web端點(diǎn)。如果響應(yīng)碼是200到399之間,它就認(rèn)為是成功的。

Container exec: kubelet將在容器中執(zhí)行一個(gè)命令。如果返回OK, 認(rèn)為就是成功的。

TCP socket: kubelet將嘗試打開(kāi)一個(gè)到容器的socket, 并確立一個(gè)連接。如果連接產(chǎn)生的話,就認(rèn)為是健康的。

Apache Mesos

Apache Mesos是一個(gè)開(kāi)源集群管理器,簡(jiǎn)化了在共享服務(wù)器池上運(yùn)行任務(wù)的復(fù)雜度。最初設(shè)計(jì)用于支持高性能計(jì)算負(fù)載, Mesos在0.20.0發(fā)布版本添加了Docker的支持。

一般的Mesos集群由一個(gè)或多個(gè)運(yùn)行mesos-master服務(wù)器和運(yùn)行了mesos-slave組件的服務(wù)器組成。每個(gè)slave注冊(cè)到master來(lái)提供資源。 master和部署框架交互來(lái)給slaves委派任務(wù)。 下面是Mesos的架構(gòu):

Master daemon: The mesos-master service runs on a master node and manages slave daemons.

Slave daemon: The mesos-slave service runs on each slave node to run tasks that belong to a framework.

Framework: An application definition consisting of a scheduler that registers with the master to receive resource offers, along with one or more executors to launch tasks on the slaves.

Offer: The list of a slave node’s resources. Each slave node sends offers to the master, and the master provides offers to registered application frameworks.

Task: The unit of work scheduled by a framework to be executed on a slave node.

Apache ZooKeeper: The software used to coordinate the collection of master nodes.

Unlike other tools, Mesos ensures high availability of the master nodes using Apache ZooKeeper, which replicates the masters to form a quorum. A high availability deployment requires at least three master nodes. All nodes in the system, including masters and slaves, communicate with ZooKeeper to determine which master is the current leading master. The leader performs health checks on all the slaves and proactively deactivates any that fail.

When Mesos is used in conjunction with Marathon, service discovery can be enabled based on the HAProxy TCP/HTTP load balancer, along with an assistant script that uses Marathon’s REST API to regenerate a HAProxy configuration file periodically. Alternatively, Mesos-DNS, a DNS-based service discovery mechanism, has recently been released in beta.

總結(jié)

容器編排正快速發(fā)展。從主要的基礎(chǔ)設(shè)施公司到PAAS供應(yīng)商到早起的創(chuàng)業(yè)公司以及無(wú)服務(wù)器計(jì)算中,每個(gè)人都在叫囂著在生態(tài)系統(tǒng)中占有一席之地。在容器編排工具上有很多貢獻(xiàn)者,因?yàn)檫@些對(duì)于部署真實(shí)世界的應(yīng)用程序是必不可少的,從而推動(dòng)了Docker和容器的采用。 我們視圖強(qiáng)調(diào)一些構(gòu)建配置工具的關(guān)鍵貢獻(xiàn)者,但它不僅僅是明顯的編排工具,更重要的是,要查看構(gòu)建、部署、CI/CD、Paas和編排器交互的其他工具,這是我們?cè)谧詣?dòng)化和編排目錄涵蓋大量篇幅的。

參考鏈接

https://thenewstack.io/contai...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/27310.html

相關(guān)文章

  • 網(wǎng)易云深度剖析Kubernetes優(yōu)化與實(shí)踐

    摘要:最后,張曉龍透露未來(lái)網(wǎng)易云會(huì)在以下三個(gè)方面繼續(xù)深耕研發(fā)高性能容器,跟進(jìn)開(kāi)源社區(qū)最新版本并適配,加大參與社區(qū)力度并反饋社區(qū)。文章來(lái)源網(wǎng)易云社區(qū) 歡迎訪問(wèn)網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營(yíng)經(jīng)驗(yàn)。 10 月 15 日,聚焦 Kubernetes 中國(guó)行業(yè)應(yīng)用與技術(shù)落地的首屆中國(guó) Kubernetes 用戶大會(huì)(KEUC)在杭州成功舉辦。本次大會(huì)吸引了來(lái)自全球各地的技術(shù)精英齊聚一堂,共同探...

    fai1017 評(píng)論0 收藏0
  • 談?wù)凱od在微服務(wù)中的運(yùn)用

    摘要:本文整理自時(shí)速云線上微信群分享第十期本文主要包括的基本概念使用場(chǎng)景,以及如何在時(shí)速云平臺(tái)上進(jìn)行的編排部署,希望對(duì)大家在進(jìn)行微服務(wù)架構(gòu)實(shí)踐時(shí)有所幫助。問(wèn)關(guān)于提供訪問(wèn)容器數(shù)據(jù)的能力,中包含一個(gè)業(yè)務(wù)和一個(gè)服務(wù),時(shí)速云的控制臺(tái)可以進(jìn)入到容器內(nèi)部。 本文整理自【時(shí)速云線上微信群分享】第十期 本文主要包括Pod的基本概念、使用場(chǎng)景,以及如何在時(shí)速云平臺(tái)上進(jìn)行Pod的編排部署,希望對(duì)大家在進(jìn)行微服務(wù)...

    MASAILA 評(píng)論0 收藏0
  • 阿里云容器服務(wù)新增支持Kubernetes編排系統(tǒng),性能重大提升

    摘要:年底首次開(kāi)啟阿里云容器服務(wù)公測(cè)年月正式商業(yè)化年月成為國(guó)內(nèi)唯一合作伙伴并推出專有云企業(yè)版,月實(shí)現(xiàn)產(chǎn)品國(guó)際化。阿里云容器服務(wù)為增加了阿里云云盤(pán)和等分布式存儲(chǔ)服務(wù)支持。阿里云容器服務(wù)為此進(jìn)一步提升了易用性,降低了部署管理和應(yīng)用開(kāi)發(fā)門(mén)檻。 摘要: 作為容器編排系統(tǒng)的兩大流派, Kubernetes和Swarm的重要性不言而喻。融合了兩大高性能集成的阿里云容器服務(wù),不僅可以降低50%的基礎(chǔ)架構(gòu)成...

    keelii 評(píng)論0 收藏0
  • 如何用Docker編排容器

    摘要:應(yīng)用被綁定到虛擬機(jī)或者容器并且成為主要的管理元素。采用的方法是他們正在使用的一系列實(shí)現(xiàn)容器自動(dòng)化的工具,和。,使用相同的作為標(biāo)準(zhǔn)引擎實(shí)例,被設(shè)計(jì)用來(lái)提供容器可擴(kuò)展的環(huán)境。 歡迎來(lái)到后硬件時(shí)代。在這個(gè)時(shí)代我們把容器或者是虛擬機(jī)遷移到我們需要的地方,而不需要考慮容器或者虛擬機(jī)。這里我們介紹一些新的Docker工具來(lái)做這份工作。 構(gòu)建下一代應(yīng)用是一回事,管理和運(yùn)行它們是另一回事。 showI...

    xialong 評(píng)論0 收藏0
  • 容器趨勢(shì):計(jì)劃,編排和CI——來(lái)自Bitnami的數(shù)據(jù)集

    摘要:數(shù)據(jù)集調(diào)查結(jié)果反映的電子郵件分布清單顯得十分重要。數(shù)據(jù)集涵蓋了包括容器使用容器計(jì)劃的領(lǐng)域,使用容器的編排工具,工具和數(shù)據(jù)庫(kù)選項(xiàng)。在這篇帖子中,我們會(huì)重點(diǎn)關(guān)注跟容器和有關(guān)的數(shù)據(jù)。人數(shù)在接受調(diào)查的人數(shù)中有是獨(dú)立開(kāi)發(fā)者,剩下的都是各個(gè)公司的雇員。 過(guò)去一周內(nèi),我們有機(jī)會(huì)處理了一大堆由Bitnami收集的數(shù)據(jù)(科普:Bitnami是一家RedMonk代理商)。Bitnami通過(guò)他們對(duì)整個(gè)用戶群...

    cod7ce 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<