摘要:容器的管理和編排將是容器云的關(guān)鍵,而Kubernetes是最為成熟的編排技術(shù)
不論是公有云還是私有云環(huán)境,Docker 在新一代技術(shù)架構(gòu)中的重要地位已經(jīng)毋庸多言,甚至已經(jīng)有企業(yè)在探索完全 Docker 化。在此背景下,如何選擇容器技術(shù)棧就成為了企業(yè)實(shí)踐的關(guān)鍵?;卮疬@個(gè)問(wèn)題,首先需要厘清技術(shù)體系更新的邏輯,再看可選技術(shù)是否符合需求。本文認(rèn)為,容器的管理和編排將是容器云的關(guān)鍵,而 Kubernetes 是最為成熟的編排技術(shù)。
容器管理和編排將成云計(jì)算主戰(zhàn)場(chǎng)
從云化的誘因說(shuō)起。中國(guó)云計(jì)算實(shí)踐八年多,市場(chǎng)認(rèn)知逐漸提升,銳意創(chuàng)新企業(yè)對(duì)云的期待已經(jīng)不是資源彈性、成本優(yōu)勢(shì)那么簡(jiǎn)單,業(yè)務(wù)的靈活性和穩(wěn)定性才是直接目標(biāo),當(dāng)然這背后的應(yīng)用彈性是研發(fā)部門(mén)要考慮的,所以 DevOps 的理念正在刺激技術(shù)團(tuán)隊(duì)的神經(jīng),敏捷、靈活、高效的容器技術(shù)和微服務(wù)架構(gòu)越來(lái)越被關(guān)注。
Docker 的理念為“Build, Ship and Run Any App, Anywhere”,通過(guò)容器和鏡像的特性讓 DevOps 變得容易,但 Docker 的前景,更在于支持分布式、服務(wù)化設(shè)計(jì),實(shí)現(xiàn)一系列可獨(dú)立開(kāi)發(fā)、獨(dú)立部署和獨(dú)立擴(kuò)展的服務(wù)組合,以保證業(yè)務(wù)的靈活性和穩(wěn)定性。當(dāng)前AWS、微軟、阿里云、IBM、Redhat、VMWare、華為、Intel 等各大公有云和私有云提供商都不約而同地大力投資 Docker,實(shí)際上就是認(rèn)可了這樣的趨勢(shì)。當(dāng)然,各家技術(shù)的選擇和產(chǎn)品化的程度是另一回事了。
符合企業(yè)需要的容器云技術(shù)架構(gòu),需要符合DevOps、微服務(wù)的方向,能支持分布式應(yīng)用,故而合適的容器的管理和編排(Orchestration)工具尤為重要。初級(jí)的編排,是資源的編排,即針對(duì)物理機(jī)或者虛擬機(jī);但更高層次的是服務(wù)的編排,需要對(duì)架構(gòu)層次在整體上有一個(gè)完整的定義。新浪微博平臺(tái)運(yùn)維架構(gòu)師王關(guān)勝就曾經(jīng)分享說(shuō),容器編排的核心內(nèi)容包括服務(wù)定義、資源管理、容器調(diào)度、服務(wù)檢測(cè)和服務(wù)發(fā)現(xiàn)等五個(gè)方面。
所以說(shuō),容器的管理和編排正在成為容器云的主戰(zhàn)場(chǎng)。Docker 公司推 Swarm 技術(shù),收購(gòu)專注于編排的 Conductant 公司,正是為此。
Docker Swarm vs Kubernetes
當(dāng)前主流的容器集群管理技術(shù),包括了 Docker 官方的 Docker Swarm、Twitter 背書(shū)的 Mesos 和 Google 背書(shū)的 Kubernetes。由于Apache Mesos 只是一個(gè)分布式內(nèi)核,目前的發(fā)展方向是數(shù)據(jù)中心操作系統(tǒng)(DCOS),它同時(shí)支持 Marathon、Kubernetes 和 Swarm 等多種框架,連 Mesosphere 也是 Kubernetes 生態(tài)的一員,從編排的角度,討論 Mesos 意義不大,故而只對(duì)比 Docker Swarm 和 Kubernetes。
1. Docker Swarm
Docker Swarm 是 Docker 官方推出的容器管理工具,支持容器的跨宿主節(jié)點(diǎn)的集群管理,這讓傳統(tǒng)的云計(jì)算資源管理方式有了新的發(fā)展。Docker Swarm 的推出,也是 Docker 從善如流的結(jié)果。因?yàn)?Docker 曾在很長(zhǎng)一段時(shí)間內(nèi)只能運(yùn)行在單個(gè)宿主機(jī)上,這讓外界和社區(qū)感到不滿意。于是 Docker 在2014年12月推出了第一個(gè)版本的 Swarm,同時(shí)發(fā)布的 Docker 工具還有 Machine 和 Compose - 后者是 Docker 收購(gòu)來(lái)輔助完善容器編排的產(chǎn)品。
年輕的“三劍客”并不能立即讓 Docker 集群對(duì)分布式應(yīng)用的支持達(dá)到爐火純青的境界,外部出自 Google 的 Kubernetes 項(xiàng)目橫空出世,提供另一種方案,而內(nèi)部的 Swarm 目前也正在不斷完善之中。Swarm 的最新進(jìn)化,是在今年 6 月 DockerCon 大會(huì)上發(fā)布的 Docker 1.12 內(nèi)置了 Docker 公司聲稱的“最佳的容器編排工具”——Swarm 模式(Swarm mode),引入了服務(wù)的概念,不再以容器作為主要管理對(duì)象單元,不再需要額外的KV存儲(chǔ)支持服務(wù)模型,讓擴(kuò)容縮容、服務(wù)發(fā)現(xiàn)、滾動(dòng)更新、負(fù)載均衡和路由等功能都更容易實(shí)現(xiàn)。
作為 Docker 的編排模式,Swarm mode 是通過(guò)獨(dú)立開(kāi)發(fā)的 SwarmKit 項(xiàng)目來(lái)實(shí)現(xiàn)的。SwarmKit 的主要功能包括節(jié)點(diǎn)發(fā)現(xiàn)、基于raft算法的一致性和任務(wù)調(diào)度等。SwarmKit 通過(guò) Containerd 類似的方式接入Docker Engine,最終通過(guò)新的 Docker API 對(duì)外提供容器集群服務(wù)。根據(jù) Docker 公司的態(tài)度,Swarm mode 將會(huì)取代之前的 Docker Swarm。新的 Swarm 吸收了 Kubernetes 的一些優(yōu)點(diǎn),但作為內(nèi)置的可選工具讓開(kāi)發(fā)者更易于使用——不用另外部署第三方的 Kubernetes 了。
2. Kubernetes
Kubernetes 是一個(gè)以 Google Borg 為原型的開(kāi)源項(xiàng)目。Borg 是 Google 內(nèi)部使用的集群管理工具,迄今已在 Google 生產(chǎn)環(huán)境中運(yùn)行15年,說(shuō)久經(jīng)考驗(yàn)并不過(guò)分。Google 新書(shū)《Site Reliability Engineering - How Google Runs Production Systems》里面強(qiáng)調(diào),其全球百萬(wàn)臺(tái)服務(wù)器正是通過(guò) Borg 來(lái)實(shí)現(xiàn)高效管理的,可謂能力卓絕。本來(lái) Borg 是 Google 的秘密武器,但 Google 為了贏得容器云之戰(zhàn),基于 Borg 的經(jīng)驗(yàn),結(jié)合了來(lái)自社區(qū)的頂級(jí)創(chuàng)意和實(shí)踐,構(gòu)建了支持 Docker 容器的 Kubernetes,并將后者開(kāi)源。
Kubernetes 功能完善,資源調(diào)度、服務(wù)發(fā)現(xiàn)、運(yùn)行監(jiān)控、擴(kuò)容縮容、負(fù)載均衡、灰度升級(jí)、失敗冗余、容災(zāi)恢復(fù)、DevOps等樣樣精通,可實(shí)現(xiàn)大規(guī)模、分布式、高可用的 Docker 集群,Kubernetes面向 PaaS,它直接為解決業(yè)務(wù)的分布式架構(gòu)、服務(wù)化設(shè)計(jì),完整定義了構(gòu)建業(yè)務(wù)系統(tǒng)的標(biāo)準(zhǔn)化架構(gòu)層,即Cluster、Node、Pod、Label等一系列的抽象都是定義好的,為服務(wù)編排提供了一個(gè)簡(jiǎn)單、輕量級(jí)的方式。
Kubernetes 目前也已經(jīng)被大量的云計(jì)算技術(shù)提供商和用戶采用,如 eBay、Yahoo、微軟、IBM、英特爾、華為、VMware、HPE、Mirantis、網(wǎng)易、普元、亞信等,當(dāng)然還包括國(guó)內(nèi)的多家容器云初創(chuàng)公司。
Kubernetes 社區(qū)的支持者,則包括(但不限于) Google、Redhat、CoreOS、華為、浙大SEL(浙江大學(xué)軟件工程實(shí)驗(yàn)室)、網(wǎng)易等。Google 卯足了勁兒推廣 Kubernetes,在去年不僅加入 OpenStack 基金會(huì),還聯(lián)合其他20家公司成立開(kāi)源組織 Cloud Native Computing Foundation(CNCF),就是要保證 Kubernetes 未來(lái)在任何基礎(chǔ)設(shè)施(公有云、私有云、裸機(jī))上都能良好運(yùn)行,并將推動(dòng)開(kāi)源以及合作伙伴社區(qū)共同開(kāi)發(fā)容器工具集。
3. 主要特點(diǎn)對(duì)比
結(jié)合上文,將 Swarm 和 Kubernetes 最新的主要特點(diǎn)對(duì)比如下,可見(jiàn) Kubernetes 增加了很多應(yīng)用級(jí)別的功能,適用于快速應(yīng)用的部署和維護(hù)。
結(jié)論
基于 Borg 成熟的經(jīng)驗(yàn)打造的 Kubernetes,為容器編排管理提供了完整的開(kāi)源方案,并且社區(qū)活躍,生態(tài)完善,積累了大量分布式、服務(wù)化系統(tǒng)架構(gòu)的最佳實(shí)踐。SwarmKit 當(dāng)然還會(huì)迭代會(huì)更加優(yōu)秀的版本,但一來(lái)模式有根本的不同,二來(lái)完善還需要時(shí)間。同時(shí),Docker 公司對(duì)未來(lái)容器編排管理的技術(shù)路線也有挑戰(zhàn),把編排的精華加入 Docker,自然有利于開(kāi)發(fā)者獲得集群的能力,卻也顛覆了系統(tǒng)級(jí)程序?qū)W?、松耦合的理念,新架?gòu)在生產(chǎn)環(huán)境中的穩(wěn)定可靠,可能還需要更多的說(shuō)服力。此外,Docker 推出不完全開(kāi)源的 Docker Datacenter 商業(yè)套件,也有可能讓社區(qū)和生態(tài)玩家對(duì) Docker Engine 的商業(yè)傾向有所擔(dān)憂。
所以,從設(shè)計(jì)模式、工具鏈、最佳實(shí)踐和商業(yè)模式來(lái)看,Kubernetes 都是目前更加讓人放心的容器編排管理技術(shù)。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- GitLab將告別中國(guó)區(qū)用戶:是時(shí)候選擇新的“極狐”或保護(hù)賬號(hào)了
- 蘋(píng)果明年推至少22款新品,阿里非洲首站啟動(dòng),科技新品盛宴拉開(kāi)帷幕
- SUSE預(yù)測(cè):未來(lái)私有AI平臺(tái)崛起,讓我們共同見(jiàn)證AI的未來(lái)
- AI伴侶“小奇”:奇富科技重塑金融服務(wù)體驗(yàn)的探索之作
- 揭秘軟銀孫正義神秘芯片計(jì)劃:打造超越NVIDIA的未來(lái)科技新星
- 大模型創(chuàng)企星辰資本獲數(shù)億融資,騰訊啟明等巨頭入局,人工智能新篇章開(kāi)啟
- 大模型獨(dú)角獸階躍星辰融資新動(dòng)態(tài):數(shù)億美金B(yǎng)輪,揭秘星辰未來(lái)之路
- 哪吒汽車(chē)創(chuàng)始人資金遭凍結(jié),1986萬(wàn)元股權(quán)風(fēng)波引關(guān)注
- 本田與日產(chǎn)醞釀合并:明年6月敲定協(xié)議,新公司社長(zhǎng)待本田推薦
- 金融大模型新突破:百川智能Baichuan4-Finance引領(lǐng)行業(yè),準(zhǔn)確率領(lǐng)先GPT-4近20%,變革金融業(yè)未來(lái)
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。