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

資訊專欄INFORMATION COLUMN

一文帶你重新認識 Docker 與 Kubernetes

baishancloud / 1758人閱讀

摘要:公司始于名為的平臺即服務(wù)供應(yīng)商。跨多個機器之間協(xié)調(diào)這些容器需要額外的工具,這稱之為容器編排。的核心優(yōu)勢是為應(yīng)用程序開發(fā)人員提供了用于編排無狀態(tài)容器的強大工具。

有無數(shù)的文章都在討論和比較Docker、Kubernetes 以及Mesos。如果你是初學者,那么你可能會認為這三個開源項目正為了稱霸容器界而殊死搏斗。

雖然這三種技術(shù)都使得使用容器部署、管理和伸縮應(yīng)用成為可能,但實際上它們各自解決了不同的問題,并且根植于迥異的上下文環(huán)境中。事實上,這三種被廣泛采用的工具鏈,都是有差別的。

讓我們來對三個項目的原始任務(wù)、技術(shù)架構(gòu),以及它們是如何相互補充和交互的來進行對比。

Docker

Docker 公司-始于名為dotCloud 的平臺即服務(wù)(PaaS)供應(yīng)商。dotCloud 團隊發(fā)現(xiàn),在許多應(yīng)用和客戶之間管理依賴和二進制文件時需要付出大量的工作。因此他們將Linux 的cgroups和namespace 的一些功能合并成一個單一且易于使用的軟件包,以便于應(yīng)用程序可以一致地運行在任何基礎(chǔ)設(shè)施上。這個軟件包就是所謂的Docker 鏡像,它提供了如下的功能:

將應(yīng)用程序和依賴庫封裝在一個軟件包(即Docker 鏡像)中,因此應(yīng)用可以被一致地部署在各個環(huán)境上;

提供類似Git 的語義,例如 docker push,docker commit 等命令讓應(yīng)用開發(fā)者可以快速接受這門新的技術(shù),并將其融入到現(xiàn)有的工作流中;

定義Docker 鏡像為不可變的層,支持不可變的基礎(chǔ)設(shè)施。新提交的變更被分別保存為只讀層,讓復(fù)用鏡像和追蹤變更記錄變得十分簡單。還通過只傳輸更新而不是整個鏡像來節(jié)省磁盤空間和網(wǎng)絡(luò)流量;

通過實例化不可變的鏡像和讀寫層來運行Docker 容器,讀寫層可以臨時地存儲運行時變更,從而輕松部署和擴展應(yīng)用程序的多個實例。

Docker 變得越來越受歡迎,開發(fā)者們開始從在筆記本電腦上運行容器轉(zhuǎn)而在生產(chǎn)環(huán)境中運行容器??缍鄠€機器之間協(xié)調(diào)這些容器需要額外的工具,這稱之為”容器編排”。第一個支持Docker 鏡像的容器編排工具是Apache Mesos 的marathon。那年,Docker 的創(chuàng)始人兼首席技術(shù)官Solomon Hykes 將Mesos 推薦為”生產(chǎn)集群的黃金標準“。不久之后,除了Mesos 的Marathon 之外,還出現(xiàn)了許多的容器編排技術(shù):Nomad、Kubernets,Docker Swarm 。

隨著Docker 開始商業(yè)化其開源的文件格式,該公司還開始引入工具來完善其核心的Docker 文件格式和運行時引擎,包括:

為公開存儲Docker 鏡像的而生的Docker hub;

存儲私有鏡像的Docker 倉庫(Docker registry);

Docker cloud,用于構(gòu)建和運行容器的管理性服務(wù);

Docker數(shù)據(jù)中心作為一種商業(yè)產(chǎn)品體現(xiàn)了許多Docker 技術(shù);

Docker 將軟件及其依賴關(guān)系封裝在一個軟件包中的洞察力改變了軟件行業(yè)的游戲規(guī)則,Docker 文件格式成為行業(yè)標準,領(lǐng)先的容器技術(shù)供應(yīng)商(包括Docker、Google、Pivotal、Mesosphere 等) 組建了 CNCF和OCI 。如今,CNCF 和OCI 旨在確保容器技術(shù)之間的互操性和標準化接口,并確保使用任何工具構(gòu)建的任何Docker 容器都可以在任何運行時或基礎(chǔ)架構(gòu)上運行。

Kubernetes

Google 很早就認識到了Docker 的潛力,并試圖在Google Cloud Platform (GCP)上提供容器編排“即服務(wù)”。Google 在容器方面擁有豐富的經(jīng)驗(是他們在Linux 中引入了cgroups),但現(xiàn)有的內(nèi)部容器和Borg 等分布式計算工具直接與其基礎(chǔ)架構(gòu)相耦合。所以,Google 沒有使用原有系統(tǒng)的任何代碼,而是從頭開始設(shè)計Kubernetes (K8S)來編排Docker 容器。Kubernetes 于2015 年2 月發(fā)布,其開發(fā)目標包括:

為應(yīng)用程序開發(fā)人員提供編排Docker 容器的強大工具,而無需與底層基礎(chǔ)設(shè)施交互;

提供標準部署接口。以實現(xiàn)云端一致的應(yīng)用部署體驗和API;

基于模塊化API 核心。允許供應(yīng)商圍繞Kubernetes 的核心技術(shù)集成其系統(tǒng)。

Kubernetes 對應(yīng)用程序開發(fā)人員非常有吸引力,因為它減輕了對基礎(chǔ)架構(gòu)和運營團隊的依賴程度。供應(yīng)商也喜歡Kubernetes,因為它提供了一個容易的方式來擁抱容器化運動,并為客戶部署自己的Kubernetes提供商業(yè)解決方案。

Kubernetes 的核心優(yōu)勢是為應(yīng)用程序開發(fā)人員提供了用于編排無狀態(tài)Docker 容器的強大工具。

Apache Mesos

Apache Mesos應(yīng)用了從云計算級別的分布式基礎(chǔ)架構(gòu)中習得的經(jīng)驗和教訓。并且,Mesos 推出了一種模塊化架構(gòu),一種開源的開發(fā)方法,旨在完全獨立于基礎(chǔ)架構(gòu)。Mesos 迅速被Twitter ,Apple ,Yelp ,Netflix和許多領(lǐng)先的技術(shù)公司采用,支持從微服務(wù)、大數(shù)據(jù)和實時分析到彈性擴展的一切。

Apache Mesos在設(shè)計之初,設(shè)定的開發(fā)目標如下:

將數(shù)據(jù)中心資源抽象為單個池來簡化資源分配,同時在私有云或公有云中提供一致的應(yīng)用和運維體驗;

在相同的基礎(chǔ)架構(gòu)上協(xié)調(diào)多個工作負載,如分析、無狀態(tài)微服務(wù)、分布式數(shù)據(jù)服務(wù)和傳統(tǒng)應(yīng)用程序,以提高利用率,降低成本和臺面空間;

為應(yīng)用程序特定的任務(wù)(如部署、自我修復(fù)、擴展和升級),自動執(zhí)行第二天的操作;提供高度可用的容錯基礎(chǔ)設(shè)施;

提供持久的可擴展性來運行新的應(yīng)用程序和技術(shù),而無需修改集群管理器或其上構(gòu)建的任何現(xiàn)有應(yīng)用程序;

彈性擴展可以將應(yīng)用程序和底層基礎(chǔ)設(shè)施從少量擴展到數(shù)十到數(shù)萬個節(jié)點。

Mesos 獨有的獨立管理各種工作負載的能力—— 包括Java 這樣的傳統(tǒng)應(yīng)用程序、無狀態(tài)Docker 微服務(wù)、批處理作業(yè)、實時分析和有狀態(tài)的分布式數(shù)據(jù)服務(wù)。Mesos 廣泛的工作負載覆蓋來自于其兩級架構(gòu),從而實現(xiàn)了“應(yīng)用感知”調(diào)度。通過將應(yīng)用程序特定的操作邏輯封裝在“Mesos 框架”中來實現(xiàn)應(yīng)用程序感知調(diào)度。資源管理器Mesos Master 提供了這些框架基礎(chǔ)架構(gòu)的部分,同時保持隔離。這種方法允許每個工作負載都有自己的專門構(gòu)建的應(yīng)用程序調(diào)度程序,可以了解其部署、擴展和升級的特定操作要求。應(yīng)用程序調(diào)度程序也是獨立開發(fā)、管理和更新的,這讓Mesos 擁有高度可擴展的能力,支持新的工作負載或隨著時間的推移而增加更多的操作功能。

Mesos的運行機制是新版本的應(yīng)用運行起來時,原先舊版本的軟件依然還正常運轉(zhuǎn)著,然后當舊應(yīng)用被銷毀時流量將會切換到新的應(yīng)用上。但是升級數(shù)據(jù)工作負載例如HDFS 或者Cassandra 要求節(jié)點停機一次,此時需要持久化本地數(shù)據(jù)卷以防止數(shù)據(jù)丟失,并且按照特定的順序執(zhí)行原位升級,在升級之前和升級完成之后,都要在每一個節(jié)點類型上執(zhí)行特定的檢查和命令。任何這些步驟都是應(yīng)用程序或服務(wù)特定的,甚至可能是版本特定的。這讓使用常規(guī)容器編排調(diào)度程序來管理數(shù)據(jù)服務(wù)變得非常困難。

總結(jié)

三種項目的運行機制和運行目的并不相同,所以當人們將Docker 和Kubernetes 與Mesos 進行比較時,他們實際上是將Kubernetes 和Docker Swarm 與在Mesos 上運行的Marathon 進行比較。

Mesos 坦率地講并不在乎它上面運行了什么。Mesos 可以在共享的基礎(chǔ)設(shè)施上彈性地為Java 應(yīng)用服務(wù)器提供集群服務(wù)、Docker 容器編排、Jenkins 持續(xù)集成任務(wù)、Apache Spark 分析、Apache Kafka 流,以及更多其他的服務(wù)。Mesos 甚至可以運行Kubernetes 或者其他的容器編排工具。所有這三種技術(shù)都與Docker 容器有關(guān),可以讓你在容器編排上實現(xiàn)應(yīng)用程序的可移植性和擴展性。至于選擇哪種項目,這主要取決于你的身份。

如果你是一個應(yīng)用開發(fā)人員,正在尋找現(xiàn)代化的方式來構(gòu)建和打包你的應(yīng)用程序,或者想加速你的微服務(wù)計劃,Docker 容器和開發(fā)工具就是最好的選擇。

如果你是一個開發(fā)人員或者DevOps 的團隊,并希望構(gòu)建一個專門用于Docker 容器編排的系統(tǒng),而且愿意花時間折騰集成解決方案與底層基礎(chǔ)設(shè)施,Kubernetes 是一個可以考慮的好技術(shù)。

如果你想要建立一個運行多個關(guān)鍵任務(wù)工作負載的可靠平臺,包括Docker 容器、傳統(tǒng)應(yīng)用程序和分布式數(shù)據(jù)服務(wù),并希望所有這些可依移植到云端提供商或者數(shù)據(jù)中心,那么Mesos,更適合你們的需求。

互動區(qū)

* 你對以上內(nèi)容有什么看法?你最關(guān)注云計算哪個趨勢?如果你還有想了解的技術(shù)話題,歡迎留言分享。

第三十二期 啟迪云交付工程師 ?王中杰

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

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

相關(guān)文章

  • 帶你理解Kubernetes,部署一個Node應(yīng)用

    摘要:應(yīng)用實例創(chuàng)建完成后,會持續(xù)監(jiān)視這些實例。創(chuàng)建時,會創(chuàng)建了一個來托管應(yīng)用。通過請求,可以從集群的外部訪問一個服務(wù)。使用云提供商的負載均衡器如果支持,可以向外部暴露服務(wù)。使用在中部署第一個應(yīng)用本文以為例進行。目標是將簡單的應(yīng)用部署在上運行。 Kubernetes是什么? Kubernetes是容器集群管理系統(tǒng),是一個開源的平臺,可以實現(xiàn)容器集群的自動化部署、自動擴縮容、維護等功能??梢栽谖?..

    qqlcbb 評論0 收藏0
  • 帶你理解Kubernetes,部署一個Node應(yīng)用

    摘要:應(yīng)用實例創(chuàng)建完成后,會持續(xù)監(jiān)視這些實例。創(chuàng)建時,會創(chuàng)建了一個來托管應(yīng)用。通過請求,可以從集群的外部訪問一個服務(wù)。使用云提供商的負載均衡器如果支持,可以向外部暴露服務(wù)。使用在中部署第一個應(yīng)用本文以為例進行。目標是將簡單的應(yīng)用部署在上運行。 Kubernetes是什么? Kubernetes是容器集群管理系統(tǒng),是一個開源的平臺,可以實現(xiàn)容器集群的自動化部署、自動擴縮容、維護等功能??梢栽谖?..

    lbool 評論0 收藏0
  • 零基礎(chǔ)入門│帶你理解Kubernetes

    摘要:的核心是以容器為中心的管理環(huán)境。命名空間提供了名稱范圍。換句話說,確保或同類組始終可用。用于管理有狀態(tài)應(yīng)用程序,它管理一組的部署和擴展,并提供有關(guān)這些的排序和唯一性的保證。 條分縷析帶你充分理解Kubernetes的各個細節(jié)與部分:它是什么,它如何解決容器編排問題,它包含哪些你必須掌握的關(guān)鍵對象,以及如何快速上手部署使用Kubernetes。 showImg(https://segme...

    DevWiki 評論0 收藏0
  • Docker Swarm的前世今生

    摘要:當然此時的局限性較大,比如沒有副本和負載均衡的概念,這導(dǎo)致服務(wù)無法高可用當然也更不存在什么服務(wù)網(wǎng)絡(luò)管理和跨節(jié)點數(shù)據(jù)存儲這些東西沒有服務(wù)模型集群中服務(wù)間關(guān)系和啟動順序編排也很復(fù)雜于是就有了下面的的誕生。 showImg(https://segmentfault.com/img/remote/1460000015317037?w=1885&h=1153); 概述 在我的《Docker S...

    lemon 評論0 收藏0
  • VLIS實驗室云計算組張磊:關(guān)于Docker、開源,以及教育的嘗試

    摘要:年我們開始專注于開源云計算技術(shù),當時開源的力量正在逐漸浮現(xiàn)。問你現(xiàn)在在實驗室的工作是什么我主要負責實驗室云計算團隊的技術(shù)工作,以及與技術(shù)相關(guān)的其他事宜,包括開源以及一些商業(yè)上的技術(shù)合作。 非商業(yè)轉(zhuǎn)載請注明作譯者、出處,并保留本文的原始鏈接:http://www.ituring.com.cn/article/203520 張磊,浙江大學計算機學院博士生,科研人員,VLIS實驗室云計算組技...

    Mike617 評論0 收藏0

發(fā)表評論

0條評論

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