6個出色的Kubernetes發(fā)行版,哪款最適合你?

作者簡介?
Christopher Tozzi,自2008年來以自由職業(yè)者的身份對Linux、虛擬化、容器、數據存儲及其相關主題進行報道。
時至今日,通過Kubernetes編排容器化應用程序已經成為絕大多數人的第一選擇,Kubernetes可以幫助用戶輕松實現(xiàn)企業(yè)級部署。但是,在安裝Kubernetes之前,你還需要再了解一件事:Kubernetes發(fā)行版。絕大多數情況下,用戶不會直接從源代碼中安裝Kubernetes,而是在軟件公司和云供應商提供的眾多Kubernetes發(fā)行版中進行選擇。
那么,什么是Kubernetes發(fā)行版?當前又有哪些出眾的Kubernetes發(fā)行版呢?
什么是Kubernetes?
在討論Kubernetes發(fā)行版之前,我們先來回顧一下什么是Kubernetes。
Kubernetes是一個用于容器編排的開源平臺,它使容器部署應用程序所需的許多任務實現(xiàn)了自動化,包括啟動和停止單個容器,以及確定集群中的哪些服務器應當承載哪些容器。如果你還想了解更多關于Kubernetes的基礎知識,歡迎查閱以下文章:
零基礎入門│帶你理解Kubernetes
Kubernetes是容器生態(tài)系統(tǒng)中的其中一個容器編排平臺,另外兩個容器編排工具分別是Docker Swarm和Mesos Marathon,在本文中我們不會詳述。當我們提及容器編排平臺時,我們首先想到的是Kubernetes——因為Kubernetes享有最高的市場關注度,或許還占有最大的市場份額。
什么是Kubernetes發(fā)行版?
作為一個開源項目,用戶可以在GitHub上免費獲取Kubernetes的源代碼。任何人都可以使用這個源代碼在自己選擇的基礎架構上下載、編排和安裝Kubernetes。然而,大多數想要安裝Kubernetes的人并不會選擇下載和編排源代碼,主要有如下三方面的原因:
費時費力:Kubernetes源代碼數量非常龐大,從頭開始構建它們需要花費大量的時間和精力。另外,無論你什么時候要更新安裝,都必須重新構建所有內容。
多組件:Kubernetes不是單一應用程序,而是一套不同的應用程序和工具。如果你從源代碼安裝它,那么你必須在構建Kubernetes集群的所有服務器上分別安裝這些組件。
配置復雜:由于Kubernetes沒有安裝向導或是自動配置腳本,因此你還必須手動配置Kubernetes的所有組件。
大多數人選擇Kubernetes發(fā)行版來滿足他們的容器編排需求。Kubernetes發(fā)行版是一個提供了預先構建版本的Kubernetes的軟件包。大多數Kubernetes發(fā)行版還提供了安裝工具,使安裝過程變得更加簡單。部分Kubernetes發(fā)行版還集成了其他軟件,可以處理集群監(jiān)控和安全性等任務。
從這個意義上講,你可以將Kubernetes發(fā)行版看作是Linux發(fā)行版的同類。當大多數人想要在PC或是服務器上安裝Linux的時候,他們使用的發(fā)行版是一個預先構建的Linux內核,該內核與各種其他軟件包集成在一起。幾乎沒有人會選擇從頭下載Linux源代碼。
主要的Kubernetes發(fā)行版有哪些?
從技術上看,任何包含Kubernetes預先構建版本的Kubernetes的軟件包或平臺都可以算作Kubernetes發(fā)行版。就像任何人都可以構建自己的Linux發(fā)行版一樣,任何人都可以建立一個Kubernetes發(fā)行版。

但是,如果你希望使用Kubernetes發(fā)行版來完成重要的工作,你可以在以下幾個主要的發(fā)行版中進行選擇:
Rancher:Rancher容器管理平臺是基于Kubernetes來構建的,多集群Kubernetes部署是Rancher的Kubernetes發(fā)行版強調的重點。如果你想跨多個云部署Kubernetes,或者由于某些原因不希望使用命名空間隔離Kubernetes工作負載,那么Rancher將是你的首選項。Rancher可以部署在本地數據中心和云上,甚至可以在包含兩者的跨基礎設施架構上工作。Rancher和OpenShift的相似之處在于它在Kubernetes上集成了多種工具,但Rancher更為靈活,基于Rancher你可以自由選擇組件。
OpenShift:OpenShift是一個包含了Kubernetes以及其他各種運行、部署和管理容器所需工具的容器化平臺。這是一個相對不太靈活的Kubernetes發(fā)行版,當你在使用工具和平臺來構建完整的容器化堆棧時,它并不會給予你太多的選擇。另一方面,OpenShift提供了幾乎所有你可能需要的開箱即用的工具,你將獲得盡可能接近完整的Kubernetes。OpenShift由Red Hat開發(fā),可以同時在本地數據中心和云中運行。
Canonical Kubernetes:開發(fā)Ubuntu Linux的Canonical公司提供了功能強大且具有支持良好的Kubernetes發(fā)行版。除了要求你必須使用Ubuntu,Canonical的Kubernetes發(fā)行版相對“純粹”,如果你希望安裝組件,你可以將它與你所需的任何組件進行集成。它可以在本地數據中心或者云中運行。
Google Kubernetes Engine:當其他云供應商專注于自己的編排工具時,谷歌云就已經押注在Kubernetes身上了,這并不稀奇,從Kubernetes項目伊始,Google便是Kubernetes的主要支持者。如今,Google Kubernetes Engine是一種靈活且簡單的Kubernetes發(fā)行版。由于它運行在谷歌云中,因此你無需擔心安裝問題。
Azure Kubernetes Service:Azure曾經將賭注押在Docker Swarm上,但是Azure Kubernetes Service(AKS)現(xiàn)在是Azure云的主要編排解決方案。這是一款僅運行在云上的Kubernetes發(fā)行版。
AWS Elastic Kubernetes Service:雖然AWS云上的容器服務Elastic Container Service(ECS)擁有自己的編排器,但AWS還提供了Elastic Kubernetes Service(EKS),這是一種圍繞Kubernetes構建的替代方案。和AKS一樣,EKS僅在云上運行。
結? 語
Kubernetes是一個復雜的容器編排平臺,并非每個人都可以消化它。但幸運的是,Kubernetes發(fā)行版可以輕松實現(xiàn)Kubernetes的優(yōu)勢,而無需自己從頭開始建立Kubernetes。對于大多數用例而言,以上所提及的Kubernetes發(fā)行版是安裝和運行Kubernetes最實用的解決方案。
標題:How to Choose the Right Kubernetes Distribution
鏈接:
https://www.itprotoday.com/hybrid-cloud/how-choose-right-kubernetes-distribution