以下是有關(guān)Kubernetes發(fā)行版以及當(dāng)今領(lǐng)先的Kubernetes發(fā)行版的入門知識。
什么是Kubernetes?
在討論Kubernetes發(fā)行版之前,先簡要介紹一下Kubernetes是什么。Kubernetes是一個用于容器編排的開源平臺。Kubernetes將使用容器部署應(yīng)用程序所需的許多任務(wù)實(shí)現(xiàn)自動化,其中包括啟動和停止單個容器,以及確定集群中的哪些服務(wù)器應(yīng)該托管哪些容器。
Kubernetes只是幾種可用的容器協(xié)調(diào)器之一;其他受歡迎的選項(xiàng)包括Docker Swarm和Mesos Marathon。但是在容器編排方面,Kubernetes占有更多的市場份額。
什么是Kubernetes發(fā)行版?
作為一個開源項(xiàng)目,Kubernetes使其源代碼可在GitHub上免費(fèi)獲得。任何人都可以使用此源代碼在自己的基礎(chǔ)設(shè)施上下載、編譯和安裝Kubernetes。但是大多數(shù)想要安裝Kubernetes的用戶卻不會下載和編譯源代碼,其原因如下:
•省時省力:網(wǎng)上有很多免費(fèi)的Kubernetes源代碼,而從頭開始構(gòu)建都將需要大量時間和精力。另外,無論何時需要更新安裝,都必須重新構(gòu)建所有內(nèi)容。
•多個組件:Kubernetes不是單一應(yīng)用程序,它是一套不同的應(yīng)用程序和工具。如果從源代碼安裝,則必須在用于構(gòu)建Kubernetes集群的所有服務(wù)器上分別安裝所有這些組件。
•復(fù)雜的配置:由于Kubernetes沒有安裝向?qū)Щ蜃詣优渲媚_本,因此還必須人工配置Kubernetes的所有各種組件。
大多數(shù)用戶采用Kubernetes發(fā)行版來滿足他們的容器編排需求。Kubernetes發(fā)行版是一個軟件包,提供了Kubernetes的預(yù)構(gòu)建版本。大多數(shù)的Kubernetes發(fā)行版還提供安裝工具,以簡化安裝過程。有些發(fā)行版還帶有其他軟件集成,以幫助處理諸如監(jiān)視和安全性之類的任務(wù)。
從這個意義上來說,可以認(rèn)為Kubernetes發(fā)行版類似于Linux發(fā)行版。當(dāng)大多數(shù)用戶想要在個人電腦或服務(wù)器上安裝Linux時,他們使用的發(fā)行版提供了與各種其他軟件包集成在一起的預(yù)構(gòu)建Linux內(nèi)核。因此幾乎沒有人下載全部的Linux源代碼。
主要的Kubernetes發(fā)行版有哪些?
從技術(shù)上來說,任何包含Kubernetes預(yù)先構(gòu)建版本的軟件包或平臺都可以算作Kubernetes發(fā)行版。就像任何人都可以構(gòu)建自己的Linux發(fā)行版一樣,任何人都可以創(chuàng)建Kubernetes發(fā)行版。
但是,如果用戶希望使用Kubernetes發(fā)行版來完成重要的工作,則可以使用以下幾個主要選項(xiàng):
•OpenShift:OpenShift是一個容器化平臺,其中包括Kubernetes以及運(yùn)行、部署和管理容器所需的各種其他工具。從某種意義上來說,它不是一種相對靈活的Kubernetes發(fā)行版,因?yàn)樗诳捎糜跇?gòu)建完整的容器化堆棧的工具和平臺方面并沒有提供太多選擇。另一方面,OpenShift幾乎附帶了所有需要的東西。用戶將獲得接近全包的Kubernetes。
OpenShift由Red Hat公司開發(fā),可以在內(nèi)部部署數(shù)據(jù)中心和云平臺中運(yùn)行。
•Canonical Kubernetes:開發(fā)Ubuntu Linux的Canonical公司提供了功能強(qiáng)大且得到良好支持的Kubernetes發(fā)行版。除了要求使用Ubuntu,Canonical的Kubernetes發(fā)行版相對“純粹”,因?yàn)榭梢赃x擇將其與所需的任何其他組件集成(用戶可以自行安裝)。它可以在內(nèi)部部署數(shù)據(jù)中心和云平臺中運(yùn)行。
•Google Kubernetes引擎:當(dāng)其他云計(jì)算供應(yīng)商專注于他們自己的編排工具時,谷歌云押注Kubernetes(這并不奇怪,因?yàn)閺捻?xiàng)目開始,谷歌公司就是Kubernetes的主要支持者)。如今,Google Kubernetes Engine是一種靈活、簡單的Kubernetes發(fā)行版。由于它在谷歌云平臺中運(yùn)行,因此不必?fù)?dān)心安裝它。
•Azure Kubernetes服務(wù):微軟Azure曾經(jīng)將賭注押在Docker Swarm上,但Azure Kubernetes服務(wù)(AKS)現(xiàn)在是Azure云平臺中的主要編排解決方案。這是只能在云中運(yùn)行的Kubernetes發(fā)行版。
•AWS Elastic Kubernetes服務(wù):盡管AWS云平臺上的原始容器服務(wù)Elastic Container Service(ECS)具有自己的編排器,但A??WS公司還提供Elastic Kubernetes Services(EKS),它是圍繞Kubernetes構(gòu)建的替代方案。像Azure Kubernetes Services(AKS)一樣,Elastic Kubernetes Services(EKS)只能在云中運(yùn)行。
•Rancher:Rancher的容器平臺現(xiàn)在基于Kubernetes。Rancher公司的Kubernetes發(fā)行版特別著重于多集群Kubernetes部署,如果用戶想跨多個云平臺部署Kubernetes或出于某些其他原因不想使用命名空間,這可能會很有用(Kubernetes功能可讓用戶劃分單個集群服務(wù)器劃分為虛擬區(qū)域)。Rancher可以在內(nèi)部部署數(shù)據(jù)中心、云平臺中甚至跨基礎(chǔ)設(shè)施(包括兩者)進(jìn)行工作。Rancher與OpenShift相似之處在于,它將Kubernetes與其他各種工具集成在一起,但它更加靈活,因?yàn)樗诖_定使用哪些組件方面提供了一些選擇。
結(jié)論
Kubernetes發(fā)行版使用戶可以輕松利用Kubernetes,而無需再從頭開始設(shè)置Kubernetes。對于大多數(shù)使用情況,以上的Kubernetes發(fā)行版是使用Kubernetes進(jìn)行安裝和運(yùn)行的最實(shí)用方法。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。