成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

從容器到容器編排

Hydrogen / 1045人閱讀

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

從容器到容器編排

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

從注冊表中拉取倉庫。

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

將容器提交新鏡像。

上傳鏡像到注冊中心。

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

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

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

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

基本特征(Baseline Features)

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

聲明配置

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

規(guī)則和限制

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

Provisioning

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

發(fā)現(xiàn)

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

健康監(jiān)控

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

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

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

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

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

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

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

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

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

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

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

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

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

Kubernetes

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

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

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)級別的管理器; 運(yùn)行在minion上的。

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

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

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

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

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

Kubernetes支持用戶實(shí)現(xiàn)的應(yīng)用程序健康檢查。這些檢查由運(yùn)行在每個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í)行一個命令。如果返回OK, 認(rèn)為就是成功的。

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

Apache Mesos

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

一般的Mesos集群由一個或多個運(yùn)行mesos-master服務(wù)器和運(yùn)行了mesos-slave組件的服務(wù)器組成。每個slave注冊到master來提供資源。 master和部署框架交互來給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ù)器計(jì)算中,每個人都在叫囂著在生態(tài)系統(tǒng)中占有一席之地。在容器編排工具上有很多貢獻(xiàn)者,因?yàn)檫@些對于部署真實(shí)世界的應(yīng)用程序是必不可少的,從而推動了Docker和容器的采用。 我們視圖強(qiáng)調(diào)一些構(gòu)建配置工具的關(guān)鍵貢獻(xiàn)者,但它不僅僅是明顯的編排工具,更重要的是,要查看構(gòu)建、部署、CI/CD、Paas和編排器交互的其他工具,這是我們在自動化和編排目錄涵蓋大量篇幅的。

參考鏈接

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

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27310.html

相關(guān)文章

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

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

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

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

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

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

    keelii 評論0 收藏0
  • 如何用Docker編排容器

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

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

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

    cod7ce 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<