引領(lǐng)容器革命的12款Kubernetes發(fā)行版
譯文【51CTO.com快譯】Kubernetes和容器正在改變構(gòu)建、部署和管理應(yīng)用程序的方式。本文介紹的這些發(fā)行版扮演了急先鋒的角色。
如果你需要大規(guī)模的容器編排,Kubernetes已成為值得依賴的項目。這個出自谷歌的開源容器編排系統(tǒng)備受好評,受到良好的支持,而且發(fā)展迅速。
同時Kubernetes龐大而復(fù)雜,設(shè)置和配置起來有難度。不僅如此,許多繁重的工作留給了最終用戶。因此,最好的方法就是別試圖單槍匹馬去搞,而是找一款含有Kubernetes這個受到支持和維護的組件的整套容器解決方案。
我在這里列出了12個最知名的Kubernetes產(chǎn)品,實際上就是整合了Kubernetes及容器工具的發(fā)行版,就像許多開發(fā)商提供Linux內(nèi)核及其用戶空間(userland)的眾多發(fā)行版那樣。
請注意,本文不包括專用的云服務(wù),比如亞馬遜EKS或谷歌Kubernetes引擎,而是重點介紹可在本地運行或作為一種云托管選項的軟件發(fā)行版。
1.CoreOS Tectonic
CoreOS提供專注于容器的Linux發(fā)行版,與Docker兼容,但又有自成一體的鏡像格式和運行時環(huán)境,還提供一款“企業(yè)級Kubernetes”發(fā)行版。它們一起構(gòu)成了CoreOS Tectonic架構(gòu)的基礎(chǔ)。
CoreOS操作系統(tǒng)Container Linux與眾不同,主要是它作為一組容器化的組件來加以交付。這樣一來,操作系統(tǒng)的自動更新版可以在不影響應(yīng)用程序正常運行的情況下推送到生產(chǎn)環(huán)境。CoreOS還宣稱可以“一鍵式”更新Kubernetes。CoreOS Tectonic可以在亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)、微軟Azure和裸機上運行。
相關(guān)鏈接:https://coreos.com/tectonic/
2.Canonical的Kubernetes發(fā)行版
Ubuntu Linux的開發(fā)商Canonical提供自家的Kubernetes發(fā)行版。Canonical的Kubernetes發(fā)行版的一大賣點是,底部是備受推崇、為人所熟知、經(jīng)常部署的Ubuntu Linux發(fā)行版。Canonical聲稱,其架構(gòu)可以在任何云或本地部署環(huán)境中運行,還支持CPU驅(qū)動的工作負載和GPU驅(qū)動的工作負載。付費客戶可以讓Canonical工程師遠程管理Kubernetes集群。
Canonical和Rancher Labs(見下文)共同開發(fā)了一個產(chǎn)品Cloud Native Platform,該產(chǎn)品結(jié)合了Canonical的Kubernetes發(fā)行版和Rancher的容器管理平臺。其想法是,使用Kubernetes來管理每個集群中運行的容器,并使用Rancher來管理多個Kubernetes集群。Cloud Native Platform將隨Rancher 2.0一同發(fā)布,該版本目前提供測試預(yù)覽版。
相關(guān)鏈接:https://www.ubuntu.com/kubernetes
3.Docker社區(qū)版/ Docker企業(yè)版
對于許多人來說,Docker就是容器。自2014年以來,Docker就有自己的集群和編排系統(tǒng)Docker Swarm,就在不久前它還是Kubernetes的競爭對手。然后在2017年10月,Docker宣布添加Kubernetes(未加任何改動),作為Docker社區(qū)版和Docker企業(yè)版的標(biāo)準(zhǔn)插入式組件。
簡而言之,Docker公司已察覺到了容器編排領(lǐng)域的不祥之兆,承認Kubernetes比Swarm更適合管理大型的復(fù)雜容器環(huán)境。然而,Docker仍包括一種“swarm模式”,面向相對一般的集群作業(yè)――比如不太可能急劇增長的防火墻后面的本地應(yīng)用程序。
相關(guān)鏈接:https://www.docker.com/kubernetes
4.Heptio Kubernetes Subscription
Kubernetes的兩位開發(fā)者Craig McLuckie和Joe Beda創(chuàng)立了Heptio,提供圍繞Kubernetes的服務(wù)和產(chǎn)品。他們的第一個主要產(chǎn)品是Heptio Kubernetes Subscription(HKS),這個Kubernetes發(fā)行版得到Heptio提供的24/7全天候收費支持。起價為每月2000美元。
Heptio的主要推銷口號是不會有廠商鎖定的企業(yè)級Kubernetes。該發(fā)行版可以在公共云或私有硬件上運行。Heptio提供的用于管理Kubernetes配置的所有工具都是開源工具,修補程序直接發(fā)送到受支持的集群。
相關(guān)鏈接:https://heptio.com/products/kubernetes-subscription/
5.Mesosphere DC/OS
Mesosphere DC/OS使用Apache Mesos將一群機器變成可以為多個應(yīng)用程序動態(tài)劃分的單一資源。Kubernetes作為眾多應(yīng)用軟件包之一在DC/OS上受到支持,那樣你可以跨DC/OS集群安裝、運行和更新Kubernetes。
DC/OS本身是不是Kubernetes發(fā)行版有待商榷,這是由于Kubernetes并不完全是DC/OS的一部分,但是可以借助DC/OS像其他受支持的應(yīng)用程序那樣來部署――這有點像借助Linux發(fā)行版的軟件包管理系統(tǒng)來提供Linux應(yīng)用程序那樣。然而,Mesosphere對Kubernetes采取的方法恪守Kubernetes的工作方式――比如說,它使用Kubernetes的主線社區(qū)發(fā)行版來確保與現(xiàn)有的工具集高度兼容。
相關(guān)鏈接:https://mesosphere.com/solutions/kubernetes/
6.Mirantis云平臺
正如Mirantis所言,Mirantis云平臺整合OpenStack、Kubernetes或兩者的組合體,作為一種“敏捷基礎(chǔ)設(shè)施平臺”的底層。簡而言之,Mirantis云平臺是一種單一的集成解決方案,用于編排虛擬機、容器和裸機服務(wù)器。部署在該平臺上的應(yīng)用程序在整個生命周期內(nèi)以“devops方式”加以管理,使用Salt作為配置管理工具,并整合了持續(xù)集成/持續(xù)交付(CI/CD)支持功能,確保應(yīng)用程序正確部署。
Mirantis云平臺可以直接在裸機上、OpenStack集群中或公共云上運行Kubernetes。 Mirantis聲稱,Mirantis云平臺讓用戶更容易使用Kubernetes,因為配置Kubernetes底層的基礎(chǔ)設(shè)施這項工作不會落到最終用戶身上。
相關(guān)鏈接:https://www.mirantis.com/software/mcp/
7.Platform9 Managed Kubernetes
大多數(shù)Kubernetes發(fā)行版專注于讓Kubernetes從內(nèi)到外和從上到下都易于管理。 Platform9 Managed Kubernetes可以在你部署它的任何環(huán)境中運行,無論是本地裸機還是遠程公共云,但可以由Platform9的工程師來遠程管理。
Platform9在客戶的監(jiān)督下大概每周六對Managed Kubernetes進行一次更新。Platform9提供了通常要手動添加到Kubernetes集群的功能,比如針對多租戶場景的用戶配額。還包括與Platform9的Fission項目集成的功能,F(xiàn)ission項目是一種無服務(wù)器計算(又叫“函數(shù)即服務(wù)”)系統(tǒng),與幾乎任何編程語言兼容,擁有容器化的運行時環(huán)境。
相關(guān)鏈接:https://platform9.com/managed-kubernetes/
8.Rancher 2.0
Rancher Labs已將Kubernetes集成到其版本2.0的容器管理平臺(名為Rancher,目前處于測試階段)。Rancher 2.0在比其他Kubernetes發(fā)行版更高的層面上運行,位于Linux主機、Docker容器和Kubernetes節(jié)點上,無論是什么位置或基礎(chǔ)設(shè)施,它都可以輕松管理這一切。它甚至可以管理亞馬遜EKS、谷歌Kubernetes引擎、Azure Container Service及其他Kubernetes即服務(wù)云上的Kubernetes集群。
Rancher還隨帶自己的Kubernetes發(fā)行版。Rancher旨在消除為特定的環(huán)境搭建Kubernetes集群和定制Kubernetes這個過程中的許多麻煩,又避免那些定制妨礙順利升級到Kubernetes――對于一個迅速發(fā)展、不斷更新的項目而言這是重要的考量因素。
相關(guān)鏈接:https://rancher.com/kubernetes/
9.Red Hat OpenShift
Red Hat的PaaS產(chǎn)品Red Hat OpenShift最初使用類似Heroku構(gòu)建包的“cartridge”來打包應(yīng)用程序,然后將應(yīng)用程序部署在名為“gear”的容器中。后來出現(xiàn)了Docker,OpenShift作了改動,以充分利用新的容器鏡像和運行時標(biāo)準(zhǔn)。Red Hat還采用了Kubernetes作為OpenShift中的編排技術(shù),這是不可避免的。
開發(fā)OpenShift的目的是為PaaS中的所有組件提供抽象和自動化機制。這種抽象和自動化還擴展到了Kubernetes,這仍帶來了相當(dāng)大的管理負擔(dān),于是OpenShift用來緩解這個負擔(dān),以完成部署PaaS這個更重大的任務(wù)。
相關(guān)鏈接:https://www.redhat.com/en/technologies/cloud-computing/openshift
10.Stackube
HyperHQ提供用于運行容器的Hyper.sh云服務(wù),它開發(fā)了Stackube,這是一款“以Kubernetes為中心的OpenStack發(fā)行版”。通常,OpenStack使用一個名為Nova的組件來配置和管理計算節(jié)點,Stackube而是使用Kubernetes。但除此之外,它使用“普通版”OpenStack和Kubernetes,其他所有細節(jié)由OpenStack插件來處理。
HyperHQ聲稱Stackube具有的一大優(yōu)勢是,它可以根據(jù)所用的容器運行時環(huán)境來提供不同程度的多租戶機制。針對“軟”多租戶模式,有Docker;若想更可靠地隔離資源,則有HyperContainer,它使用虛擬機管理程序級別的隔離。
相關(guān)鏈接:https://github.com/openstack/stackube
11.SUSE云即服務(wù)(CaaS)平臺
SUSE是一款在歐洲非常流行的Linux發(fā)行版,它提供SUSE CaaS平臺。從概念上來講,它讓人聯(lián)想到CoreOS Tectonic――該系統(tǒng)捆綁了運行容器的裸機“微型”操作系統(tǒng)、作為容器編排系統(tǒng)的Kubernetes、內(nèi)置的鏡像注冊中心和集群配置工具。
SUSE CaaS平臺在公共云和本地裸機上都可以運行,不過?要注意“SUSE目前不支持整合到底層云基礎(chǔ)設(shè)施的任何功能”。這意味著SUSE CaaS平臺的初衷并不是補充亞馬遜EKS或谷歌Kubernetes引擎,而是為了避開它們,讓用戶可以跨多個云和數(shù)據(jù)中心運行容器。
相關(guān)鏈接:https://www.suse.com/products/caas-platform/
12.Telekube
Teleport SSH服務(wù)器系統(tǒng)的開發(fā)商Gravitational還開發(fā)Telekube,這是一款可在本地或遠程集群上運行的“針對生產(chǎn)環(huán)境作了強化”的Kubernetes發(fā)行版。Telekube的定位是作為一款面向?qū)S蠸aaS平臺的解決方案,或者跨多個地區(qū)或多家主機托管提供商將Kubernetes作為服務(wù)來運行。
Telekube上的應(yīng)用程序必須準(zhǔn)備好,才可以在Kubernetes上的容器中運行。它們還必須打包成“Bundle”,然后發(fā)布到Kubernetes集群上進行分發(fā)。除了所有其他的準(zhǔn)備外,捆綁(Bundling)還需要做一些另外的工作,那樣才能部署基于容器的應(yīng)用程序,但Bundle清單文件是你需要維護的Telekube所特有的唯一的附加部分。
相關(guān)鏈接:https://gravitational.com/telekube/
原文標(biāo)題:12 Kubernetes distributions leading the container revolution,作者:Serdar Yegulalp
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】