国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

從容器到容器編排

Hydrogen / 1033人閱讀

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

從容器到容器編排

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

從注冊表中拉取倉庫。

運行容器并可選的附加一個終端給它。

將容器提交新鏡像。

上傳鏡像到注冊中心。

終止運行中的容器。

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

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

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

基本特征(Baseline Features)

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

聲明配置

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

規(guī)則和限制

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

Provisioning

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

發(fā)現(xiàn)

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

健康監(jiān)控

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

仔細看看三種流行的編排工具 Docker Swarm

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

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

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

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

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

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

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

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

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

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

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

Kubernetes

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

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

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

Minion: 運行kubelet服務和Docker引擎的主機。Minions從master接收命令。

Kubelet: Kubernetes中的節(jié)點級別的管理器; 運行在minion上的。

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

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

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

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

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

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

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

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

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

Apache Mesos

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

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

參考鏈接

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

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

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

相關(guān)文章

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

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

    fai1017 評論0 收藏0
  • 談談Pod在微服務中的運用

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

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

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

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

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

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

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

    cod7ce 評論0 收藏0

發(fā)表評論

0條評論

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