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


作者簡介

Christopher Tozzi,自2008年來以自由職業者的身份對Linux、虛擬化、容器、數據存儲及其相關主題進行報道。

本文來自Rancher Labs

時至今日,通過Kubernetes編排容器化應用程序已經成為絕大多數人的第一選擇,Kubernetes可以幫助用戶輕松實現企業級部署。但是,在安裝Kubernetes之前,你還需要再了解一件事:Kubernetes發行版。絕大多數情況下,用戶不會直接從源代碼中安裝Kubernetes,而是在軟件公司和雲供應商提供的眾多Kubernetes發行版中進行選擇。

那么,什么是Kubernetes發行版?當前又有哪些出眾的Kubernetes發行版呢?

什么是Kubernetes?

在討論Kubernetes發行版之前,我們先來回顧一下什么是Kubernetes。

Kubernetes是一個用於容器編排的開源平台,它使容器部署應用程序所需的許多任務實現了自動化,包括啟動和停止單個容器,以及確定集群中的哪些服務器應當承載哪些容器。如果你還想了解更多關於Kubernetes的基礎知識,歡迎查閱以下文章:

再也不用擔心學不會K8S!17個K8S初學者必須掌握的知識點

零基礎入門│帶你理解Kubernetes

Kubernetes是容器生態系統中的其中一個容器編排平台,另外兩個容器編排工具分別是Docker Swarm和Mesos Marathon,在本文中我們不會詳述。當我們提及容器編排平台時,我們首先想到的是Kubernetes——因為Kubernetes享有最高的市場關注度,或許還占有最大的市場份額。

什么是Kubernetes發行版?

作為一個開源項目,用戶可以在GitHub上免費獲取Kubernetes的源代碼。任何人都可以使用這個源代碼在自己選擇的基礎架構上下載、編排和安裝Kubernetes。然而,大多數想要安裝Kubernetes的人並不會選擇下載和編排源代碼,主要有如下三方面的原因:

  • 費時費力:Kubernetes源代碼數量非常龐大,從頭開始構建它們需要花費大量的時間和精力。另外,無論你什么時候要更新安裝,都必須重新構建所有內容。

  • 多組件:Kubernetes不是單一應用程序,而是一套不同的應用程序和工具。如果你從源代碼安裝它,那么你必須在構建Kubernetes集群的所有服務器上分別安裝這些組件。

  • 配置復雜:由於Kubernetes沒有安裝向導或是自動配置腳本,因此你還必須手動配置Kubernetes的所有組件。

大多數人選擇Kubernetes發行版來滿足他們的容器編排需求。Kubernetes發行版是一個提供了預先構建版本的Kubernetes的軟件包。大多數Kubernetes發行版還提供了安裝工具,使安裝過程變得更加簡單。部分Kubernetes發行版還集成了其他軟件,可以處理集群監控和安全性等任務。

從這個意義上講,你可以將Kubernetes發行版看作是Linux發行版的同類。當大多數人想要在PC或是服務器上安裝Linux的時候,他們使用的發行版是一個預先構建的Linux內核,該內核與各種其他軟件包集成在一起。幾乎沒有人會選擇從頭下載Linux源代碼。

主要的Kubernetes發行版有哪些?

從技術上看,任何包含Kubernetes預先構建版本的Kubernetes的軟件包或平台都可以算作Kubernetes發行版。就像任何人都可以構建自己的Linux發行版一樣,任何人都可以建立一個Kubernetes發行版。

但是,如果你希望使用Kubernetes發行版來完成重要的工作,你可以在以下幾個主要的發行版中進行選擇:

  • Rancher:Rancher容器管理平台是基於Kubernetes來構建的,多集群Kubernetes部署是Rancher的Kubernetes發行版強調的重點。如果你想跨多個雲部署Kubernetes,或者由於某些原因不希望使用命名空間隔離Kubernetes工作負載,那么Rancher將是你的首選項。Rancher可以部署在本地數據中心和雲上,甚至可以在包含兩者的跨基礎設施架構上工作。Rancher和OpenShift的相似之處在於它在Kubernetes上集成了多種工具,但Rancher更為靈活,基於Rancher你可以自由選擇組件。

  • OpenShift:OpenShift是一個包含了Kubernetes以及其他各種運行、部署和管理容器所需工具的容器化平台。這是一個相對不太靈活的Kubernetes發行版,當你在使用工具和平台來構建完整的容器化堆棧時,它並不會給予你太多的選擇。另一方面,OpenShift提供了幾乎所有你可能需要的開箱即用的工具,你將獲得盡可能接近完整的Kubernetes。OpenShift由Red Hat開發,可以同時在本地數據中心和雲中運行。

  • Canonical Kubernetes:開發Ubuntu Linux的Canonical公司提供了功能強大且具有支持良好的Kubernetes發行版。除了要求你必須使用Ubuntu,Canonical的Kubernetes發行版相對“純粹”,如果你希望安裝組件,你可以將它與你所需的任何組件進行集成。它可以在本地數據中心或者雲中運行。

  • Google Kubernetes Engine:當其他雲供應商專注於自己的編排工具時,谷歌雲就已經押注在Kubernetes身上了,這並不稀奇,從Kubernetes項目伊始,Google便是Kubernetes的主要支持者。如今,Google Kubernetes Engine是一種靈活且簡單的Kubernetes發行版。由於它運行在谷歌雲中,因此你無需擔心安裝問題。

  • Azure Kubernetes Service:Azure曾經將賭注押在Docker Swarm上,但是Azure Kubernetes Service(AKS)現在是Azure雲的主要編排解決方案。這是一款僅運行在雲上的Kubernetes發行版。

  • AWS Elastic Kubernetes Service:雖然AWS雲上的容器服務Elastic Container Service(ECS)擁有自己的編排器,但AWS還提供了Elastic Kubernetes Service(EKS),這是一種圍繞Kubernetes構建的替代方案。和AKS一樣,EKS僅在雲上運行。

結 語

Kubernetes是一個復雜的容器編排平台,並非每個人都可以消化它。但幸運的是,Kubernetes發行版可以輕松實現Kubernetes的優勢,而無需自己從頭開始建立Kubernetes。對於大多數用例而言,以上所提及的Kubernetes發行版是安裝和運行Kubernetes最實用的解決方案。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM