欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

應用程序調度和編排簡介

云原生應用程序的標志之一是它具有高度的錯誤恢復能力,同時提供多種可擴展性選項。這是唯一可能的,因為云環(huán)境使開發(fā)人員能夠部署和管理整個容器集群。對于只有幾個容器的小型應用程序,管理不是什么大問題——但隨著應用程序的擴展,它們的編排和調度變得越來越重要。

應用程序調度和編排簡介

雖然我們在關于 DevOps 景觀的綜合指南中已經(jīng)觸及了這個主題,但本文將詳細闡述調度和編排的工作原理。有多種工具可以幫助您編排應用程序服務器,消除部署大量容器帶來的大部分復雜性。但在我們開始之前,讓我們先解釋一下容器在 DevOps 世界中扮演的重要角色。

什么是軟件容器?

作為包括微服務和 DevOps 在內的現(xiàn)代軟件開發(fā)的關鍵組成部分,如果不深入研究容器的概念,就無法理解應用程序的調度和編排。根據(jù)標準的Docker 定義:“容器是一個標準的軟件單元,它將代碼及其所有依賴項打包在一起,因此應用程序可以快速可靠地從一個計算環(huán)境運行到另一個計算環(huán)境。”

簡而言之,容器是一個小型的獨立軟件包,包含運行應用程序所需的一切;代碼和所有其他依賴項(例如系統(tǒng)工具、庫和運行時等等)。它的核心優(yōu)勢是體積小,允許您將大量容器打包到一臺計算機上,所有容器都在共享操作系統(tǒng)內核上運行。

在容器出現(xiàn)之前,同樣的工作是由虛擬機完成的,它不僅將應用程序代碼及其依賴項打包在一起,而且還運行一個隔離的操作系統(tǒng)。這意味著許多操作系統(tǒng)內核將在一臺服務器上運行,彼此不知情。除此之外,整個過程有時由主機操作系統(tǒng)管理。

由于這些虛擬機在模擬服務器上運行,因此存在與該過程相關的各種困難。與容器相比,虛擬機通常是影響整體系統(tǒng)性能的開銷,導致企業(yè)每美元的性能較低。使用容器,您只需打包應用程序代碼、相關庫及其依賴項。此外,唯一的操作系統(tǒng)是主機的操作系統(tǒng),這意味著容器可以直接與操作系統(tǒng)通信,而不會產生不必要的開銷。

容器有幾個好處

容器的最大好處之一是它們?yōu)殚_發(fā)人員簡化了軟件部署。通過將基本要素與代碼打包在一起,開發(fā)人員可以更輕松地知道他們的應用程序軟件將執(zhí)行,而不管它部署在何處。

容器也是被稱為“微服務”的新應用程序開發(fā)趨勢的核心部分。容器不是獨立的整體應用程序,而是允許您將應用程序分解為松散耦合的微服務,這些微服務通過不可知的 API 接口相互通信。微服務架構可以帶來大量好處,我們的微服務軟件架構風格概述中對此進行了介紹。但是由于它們的體積小,一個全尺寸的應用程序需要大量的容器來運行——因此,有許多需要管理的移動部件。這就是應用程序調度和編排的用武之地。

應用編排和調度

應用程序編排,通常稱為容器編排,是一種非常流行的技術,被世界各地的開發(fā)團隊用來管理數(shù)量極其龐大的容器。Devopedia將容器編排定義為:“……一個自動化基于容器的應用程序的部署、管理、擴展、網(wǎng)絡和可用性的過程。”容器管理涉及大量任務,例如供應、管理、擴展和網(wǎng)絡等等。對于具有五個容器的應用程序,開發(fā)團隊可能能夠有效地管理這些任務;但是大型應用程序從數(shù)千個容器中獲取數(shù)據(jù)。通過編排,開發(fā)人員可以自動化簡化整個流程的各種工作。

值得注意的一點是,調度通常被視為整個容器管理范圍的一部分,而一些專家將其視為一個單獨的容器原則。根據(jù)微軟的說法,“調度意味著管理員能夠在集群中啟動容器,因此它們也提供了一個 UI。”容器調度程序有很多職責,從最有效地利用資源到確保跨不同節(jié)點或主機的有效負載平衡。由于它們靠近集群,它們通常被同等對待。事實上,流行的容器編排工具也提供了調度能力。

它是如何工作的?

有效編排容器的第一步是確定正確的工具。著名的名字包括 Docker Swarm 和 Kubernetes,但我們稍后會談到它們。

首先我們來分析一下應用編排和調度過程是如何工作的:

  • 一旦您確定了您的編排工具,下一步就是描述應用程序的配置。這可以在 JSON 或 YAML 文件中完成。
  • 配置文件有一個重要的用途;它將容器編排工具定向到存儲圖像和日志的位置。此外,它還協(xié)助工具完成如何掛載存儲卷以及如何建立容器內網(wǎng)絡的過程——這個位置通常是一個私有注冊表。
  • 編排工具將在復制組中進一步將它們部署到主機服務器上。這可確保在檢查預定義的先決條件(例如 CPU 內存要求)后自動安排集群內發(fā)生的任何新部署。
  • 部署到主機后,編排工具可確保使用配置文件中規(guī)定的條件和規(guī)定來管理容器的生命周期。

通常,開發(fā)團隊會在將相同的應用程序部署到生產環(huán)境之前,嘗試通過在各種測試環(huán)境中部署相同的應用程序來控制配置文件。借助容器編排工具,開發(fā)人員可以自由選擇部署位置。這些工具可以在各種環(huán)境中運行,從本地服務器和本地機器到公共云基礎設施提供商。

最流行的應用程序調度和編排工具

市場上有很多應用程序調度和編排工具,各有優(yōu)缺點。以下是主導軟件開發(fā)市場的前三名的概述:

庫伯內斯

Kubernetes 已成為軟件開發(fā)行業(yè)的基準編排工具之一。它的起源可以追溯到谷歌,最初是搜索引擎巨頭“Borg 項目”的迭代。此外,它還是著名的Cloud Native Computing Foundation的核心,該基金會得到 Google、Amazon Web Services、Microsoft、IBM、Intel、Redhat 和 Cisco 等計算巨頭的支持。

Kubernetes 的標志仍然是它允許開發(fā)人員交付 PaaS(平臺即服務)的能力,這有助于創(chuàng)建硬件抽象層,而它能夠跨領先的云平臺和本地服務器運行是另一個加分項。這允許團隊輕松地跨不同平臺移動工作負載,而無需投資于應用程序重新設計。

Kubernetes 的主要組件包括:

  • 集群:一組節(jié)點,通常由一個主節(jié)點領導。其他節(jié)點(worker)可以是虛擬機也可以是物理機。
  • Kubernetes master:根據(jù)定義的策略,master 跨所有節(jié)點管理應用程序實例——從部署到調度。
  • Kubelet:每個節(jié)點都運行一個稱為 Kubelet 的代理進程,它從 API 服務器獲取所有相關信息。
  • Pod:最基本的單元,可能由位于同一主機上的多個容器組成;每個 pod 都有一個唯一的 IP 地址。
  • Deployments:描述 Pod 和容器實例數(shù)量的 YAML 對象
  • ReplicaSet:您希望在集群中運行的副本數(shù)量只能由 ReplicaSet 定義。如果運行 Pod 的節(jié)點發(fā)生故障,ReplicaSet 可以確保在可用節(jié)點上進行調度。

碼頭群

它是另一種流行的編排工具,提供與 Docker 的完全集成。它不如 Kubernetes 復雜,是剛開始使用容器編排的開發(fā)人員的絕佳選擇。簡而言之,Docker Swarm 由于與平臺的固有集成,使工程師能夠更輕松、更快速地進行容器部署。盡管如此,Dockers 提供了兩者——它自己的編排工具“Swarm”和 Kubernetes——希望讓它們成為免費的。

Swarm 的主要組件包括:

  • Swarm:一組節(jié)點,通常伴隨著一個主節(jié)點。每個節(jié)點表示一臺機器,無論是虛擬的還是物理的。
  • 服務:管理員列出的綁定在代理節(jié)點上的每個任務都是一項服務。它有助于描述節(jié)點將使用哪些容器映像以及將在每個容器中執(zhí)行哪些命令。
  • 管理器節(jié)點:顧名思義,管理器會忽略集群的交付和狀態(tài)。
  • 工作節(jié)點:經(jīng)理分配的任務由工作人員接收。每個節(jié)點向主節(jié)點報告,而管理器只跟蹤任務。
  • 任務:在 Docker 環(huán)境中,“任務”是執(zhí)行服務中列出的命令的容器。一旦工人有任務,就不能重新分配。此外,如果任務在副本集中失敗,則會將任務的新版本分配給下一個可用的工作人員。

阿帕奇月

Mesos 由加州大學(伯克利分校)制造,比 Kubernetes 存在的時間更長。它以為開發(fā)人員提供高級可擴展性的輕量級應用程序而聞名。一個典型的 Mesos 可以運行超過 10,000 個節(jié)點——這還不包括它允許獨立發(fā)展的框架。此外,它還支持多種流行的編程語言,例如 Java、C++ 和 Python。需要注意的是,Mesos 僅提供集群管理解決方案。因此,開發(fā)人員必須構建整個框架以啟用容器的編排——一個流行的例子包括Marathon。

Mesos 的關鍵組件包括:

  • 主守護進程:監(jiān)督工作節(jié)點的主節(jié)點。
  • Agent Daemon:編排框架下發(fā)的每一個任務都由Agent完成。
  • Framework:編排平臺,使其能夠從集群管理器(Mesos)接收資源并發(fā)送要執(zhí)行的任務。
  • Offer:與通過 Mesos 發(fā)送到編排框架的代理節(jié)點有關的信息。
  • Task:根據(jù)資源offer需要完成的工作。

應用編排工具的好處

最終,編排工具承擔了許多以前會讓開發(fā)人員忙得不可開交的流程;有了這些,資源就可以專用于更重要的任務。

以下是應用程序編排工具的一些好處:

可運輸性

現(xiàn)代工具允許在不影響應用程序其余部分的情況下擴展特定的應用程序組件。

快速部署

面對增加的流量?編排工具可以幫助您快速創(chuàng)建新的容器化應用程序。

提高效率

通過自動執(zhí)行多項核心任務,您可以減少人為錯誤的可能性。有了這樣一個簡化的安裝過程,您的軟件開發(fā)團隊的工作效率就會提高。

高度安全

通過應用程序的容器化,這些工具允許您共享資源而不會危及數(shù)據(jù)的安全性。

結論

軟件開發(fā)行業(yè)已迅速轉向采用容器模型,因為它允許他們簡化整個部署過程。但軟件容器的成功在很大程度上得益于允許用戶自動化容器管理的高級編排工具的出現(xiàn)。在 Kubernetes 繼續(xù)主導行業(yè)的同時,還有許多其他工具也具有不同的優(yōu)勢。最終,適合您的選擇取決于您的要求以及最能滿足這些要求的工具。

文章鏈接: http://m.qzkangyuan.com/14740.html

文章標題:應用程序調度和編排簡介

文章版權:夢飛科技所發(fā)布的內容,部分為原創(chuàng)文章,轉載請注明來源,網(wǎng)絡轉載文章如有侵權請聯(lián)系我們!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
IDC云庫

加密貨幣與代幣有什么區(qū)別?

2022-12-22 14:01:59

IDC云庫

為什么業(yè)務移動性對企業(yè)組織至關重要

2022-12-22 16:02:33

0 條回復 A文章作者 M管理員
    暫無討論,說說你的看法吧
?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 子洲县| 湘乡市| 同德县| 久治县| 龙里县| 丰城市| 宿州市| 巴彦县| 化德县| 报价| 突泉县| 丽江市| 岳阳市| 抚州市| 仪征市| 冕宁县| 漾濞| 武鸣县| 永昌县| 瓮安县| 肇源县| 本溪| 瓦房店市| 德惠市| 留坝县| 潮州市| 龙井市| 通辽市| 都匀市| 安康市| 砚山县| 银川市| 望城县| 长寿区| 运城市| 旌德县| 栾川县| 漳浦县| 富源县| 阿克陶县| 湘潭县|