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