Serdar Yegulalp
Kubernetes和容器改變了應用程序的構建、部署和管理方式。本文介紹一些比較優(yōu)秀的版本。
如果你需要進行大規(guī)模的容器編排,那么Kubernetes(K8s)可以說是最佳選擇。谷歌推出的開源容器編排系統(tǒng)備受好評,得到了很好的支持,而且發(fā)展非常迅速。
但是,K8s也非常龐大、復雜,并且難于設置和配置。不僅如此,很多繁重的工作都留給了最終用戶。因此,最好的方法不是抓取數(shù)據(jù)然后單獨去處理數(shù)據(jù),而是尋找一套完整的容器解決方案,其中包括K8s作為受支持的、受維護的組件。
在這里,我列出了10款最突出的K8s產(chǎn)品——它們相當于包含了K8s和容器工具的發(fā)行版本,從某種意義上來說,類似于各家供應商提供的Linux內核及其用戶群的發(fā)行版。
請注意,所列出的并不包括專用云服務,例如,亞馬遜EKS或者谷歌K8s引擎,而重點放在了能夠在本地運行或者作為云托管選項運行的軟件版本。
CoreOS Tectonic/Red Hat CoreOS
CoreOS是一家專注于容器的Linux發(fā)行版的提供商,與Docker兼容,但有自己固定的圖像格式和運行時,以及一個“企業(yè)級K8s”發(fā)行版。它們共同構成了CoreOS Tectonic堆棧的基礎。
CoreOS操作系統(tǒng)——Container Linux之所以與眾不同,主要因為它是作為一組容器化的組件而交付的。這樣,就可以在不關閉正在運行的應用程序的情況下,順利地對產(chǎn)品進行操作系統(tǒng)的自動更新。CoreOS還支持對K8s進行“一鍵式”更新。CoreOS Tectonic可以運行在亞馬遜網(wǎng)絡服務(AWS)、Microsoft Azure和裸金屬上。
Red Hat最近收購了CoreOS,并計劃將其整合到Red Hat OpenShift中。容器Linux將被重新命名為Red Hat CoreOS。這一舉措預計要到2020年才能完成,而在此之前,容器Linux將繼續(xù)得到支持。據(jù)Red Hat,CoreOS Tectonic“幾乎所有”的特性在過渡后仍然可用。
K8s的Canonical版本
Ubuntu Linux的制造商Canonical提供了自己的發(fā)行版K8s。K8s的Canonical發(fā)行版的一大賣點是其備受好評、易于理解而且部署廣泛的底層Ubuntu Linux發(fā)行版。Canonical聲稱其堆棧將在任何云或者本地部署中工作,同時支持帶有CPU和GPU的工作負載。付費客戶可以讓Canonical工程師遠程管理他們的K8s集群。
Canonical的K8s發(fā)行版也有微型版本——Microk8s。開發(fā)人員和K8s新用戶可以在筆記本或者臺式機上安裝Microk8s,將其用于測試、實驗,甚至用于低配置硬件進行生產(chǎn)。
Canonical和Rancher實驗室(見下文)共同開發(fā)了一款產(chǎn)品,即,云原生平臺,它結合了Canonical的K8s發(fā)行版與Rancher的容器管理平臺。其思想是使用K8s管理每個集群中運行的容器,并使用Rancher管理多個K8s集群。云原生平臺將與Rancher 2.0一起提供,后者目前是beta預覽版。
Docker社區(qū)版/Docker企業(yè)版
對我們很多人來說,Docker就是容器。從2014年開始,Docker就有了自己的集群和編排系統(tǒng)Docker Swarm,直到最近它還是K8s的競爭對手。然后在2017年10月,Docker宣布將在其Docker社區(qū)版和Docker企業(yè)版2.0及其更高版本中加入未經(jīng)修改的普通狀態(tài)下的K8s,這將作為標準包。
Docker企業(yè)版3.0增加了Docker K8s服務,這其實是一種K8s集成,使開發(fā)人員桌面和產(chǎn)品部署之間的K8s版本保持一致。
簡而言之,Docker公司已經(jīng)閱讀了容器協(xié)調墻上的文字,并承認K8s比Swarm更適合管理大型和復雜的容器環(huán)境。然而,Docker仍然包括其原始的集群系統(tǒng)“Swarm模式”,用于更簡單的工作——例如,在防火墻應用程序后面的本地應用程序,這類程序不會增長太多,或者維持不需要修改的現(xiàn)有Swarm模式集群。
Heptio K8s訂購版
K8s的兩位創(chuàng)造者,Craig McLuckie和Joe Beda成立了Heptio,為K8s提供服務和產(chǎn)品。他們的第一款主要產(chǎn)品是Heptio K8s訂購版(HKS),這種K8s部署由Heptio提供7×24小時付費支持。起價為每月2000美元。
Heptio的主要賣點是不鎖定供應商的企業(yè)級K8s。其部署可以運行在公有云或者專用硬件上。Heptio提供的用于管理K8s配置的所有工具都是開源的,修復程序直接提供給所支持的集群。
VMware于2018年收購了Heptio,但此次收購并未影響Heptio的系列產(chǎn)品計劃。
Kontena Pharos
被稱為“用起來不錯的K8s”,Kontena Pharos遵循與Red Hat的Linux產(chǎn)品大致相同的規(guī)程。底層是一個CNCF認證的K8s發(fā)行版,可以在Apache 2許可下使用(每一Fedora或者CentOS許可)。資金富裕的企業(yè)(每一Red Hat企業(yè)版Linux許可)可以購買專業(yè)級的功能、咨詢、支持服務以及某些不砍價的服務,例如,遷移到云原生基礎設施。
核心Pharos發(fā)行版標配了自動安全更新和多個容器運行時等基本功能。付費產(chǎn)品增加了企業(yè)工具,例如,Kontena Lens儀表盤、Kontena存儲分布式存儲系統(tǒng)、備份、負載平衡,并且能夠在空氣散熱環(huán)境中部署集群。
專業(yè)版有30天的試用期,支持訂購版起價為每月375歐元。開源版本沒有時間限制,也沒有許可成本。
Pivotal容器服務(PKS)
Pivotal以其在Cloud Foundry上的工作而聞名,它提供了企業(yè)級的K8s,即Pivotal容器服務(PKS)。PKS的靈感來自很多其他Pivotal項目。例如,它使用Kubo項目(也在Pivotal的Cloud Foundry中使用)來啟動和管理K8s集群。
PKS的突出特點是與VMware虛擬化堆棧的緊密集成;事實上,PKS是一個聯(lián)合的VMware-Pivotal項目。在PKS上運行的容器可以訪問通常僅對在vSphere上運行的虛擬機可用的服務,例如,VMware VSAN中的持久存儲。此外,可以通過VMware Cloud Foundation來管理PKS,這是用于管理公有云和私有云環(huán)境中的VMware基礎設施。
總之,任何投資了VMware,并且對K8s越來越感興趣的企業(yè),都希望研究PKS,以充分利用他們現(xiàn)有的VMware設置。
Rancher 2.0
Rancher實驗室已經(jīng)將K8s集成到了它的容器管理平臺中,這個平臺簡稱為2.0版的Rancher。Rancher 2.0比其他K8s發(fā)行版級別更高,位于Linux主機、Docker容器和K8s節(jié)點之上,無論位置或者基礎設施怎樣,都可以對它們進行管理。它甚至可以在亞馬遜EKS、谷歌K8s引擎、Azure K8s服務和其他K8s即服務云上管理K8s集群。
Rancher也有自己的K8s發(fā)行版。Rancher想要去掉建立K8s集群和為特定環(huán)境定制K8s的過程中大量繁重的工作,要求這些定制工作不能妨礙K8s的順利更新——這是這類快速變化和不斷更新項目的關鍵考慮因素。
Rancher還提供一個名為K3s的最小K8s發(fā)行版。K3s針對低配置部署進行了優(yōu)化,每個服務器實例只需要512 MB的RAM和200 MB的硬盤空間。它通過省略所有老的、alpha級別的和非必需的特性,以及很多不常用的插件(但是在需要時,可以把這些插件重新添加回來),從而能夠布放到這種布局中。
Red Hat OpenShift
Red Hat OpenShift是Red Hat的PaaS產(chǎn)品,最初使用類似Heroku Buildpack的“黑盒”對應用程序進行打包,然后將其部署在稱為“變速箱”的容器中。后來有了Docker,OpenShift被重新設計以利用新的容器鏡像和運行時標準。不可避免地,Red Hat也采用了K8s作為OpenShift中的編排技術。
開發(fā)OpenShift的目的是為了給PaaS中的所有組件提供抽象和自動化功能。這種抽象和自動化功能也擴展到了K8s中,它仍然帶來了相當多的管理負擔,因此,OpenShift可以作為部署PaaS的更大任務的一部分,以減輕這一負擔。
如上所述,CoreOS Tectonic被并入Red Hat OpenShift,盡管技術合并預計要到2020年才能完成。
如果希望了解更詳細的信息,請參閱InfoWorld對Red Hat OpenShift 3的評論。
SUSE容器即服務平臺
SUSE以在歐洲廣泛流行的Linux發(fā)行版而聞名,它還提供了SUSE CaaS平臺。從概念上講,SUSE CaaS平臺讓人想起了CoreOS Tectonic,它結合了運行容器的裸金屬“微型”操作系統(tǒng)、用于容器編排的K8s、內置的圖像注冊表,以及集群配置工具。
SUSE CaaS平臺3于2018年發(fā)布,它添加了多主機功能,使集群能夠更靈活地應對主節(jié)點崩潰,并提供了內核調優(yōu)功能,以便對所包含的Linux內核進行定制調整。
SUSE CaaS平臺可以在公有云和本地裸金屬上運行,但需要注意的是,“SUSE目前不支持任何與底層云基礎設施的集成?!边@意味著SUSE CaaS平臺不是為完善亞馬遜EKS或者谷歌K8s引擎而設計的,而是為了規(guī)避它們,支持跨多個云和數(shù)據(jù)中心來運行容器。
Gravity
Teleport SSH服務器的制造商Gravitational推出了Gravity,這是一種“產(chǎn)品增強型”的K8s發(fā)行版,運行在本地或者遠程集群上。Gravity被定位為一種私有SaaS平臺的解決方案,也可以用于在多個區(qū)域或者托管提供商那里運行K8s即服務。
Gravity上的應用程序必須做好準備才能在K8s容器中運行。它們還必須打包成“Bundles”,然后發(fā)布到K8s集群進行分發(fā)。除了部署基于容器的應用程序所需的所有其他準備工作之外,Bundles還需要一些額外的工作,而Bundles清單是需要維護的唯一與Gravity相關的附加內容。
Gravity還允許對整個K8s集群(包括其所有應用程序和配置)進行快照,并將快照部署到任何其他K8s環(huán)境中。
Serdar Yegulalp是InfoWorld的資深作家,專注于機器學習、容器化、Devops、Python生態(tài)系統(tǒng),并且經(jīng)常發(fā)表評論文章。
原文網(wǎng)址
https://www.infoworld.com/article/3265059/10-kubernetes-distributions-leading-the-container-revolution.html