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

做者簡介安全

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

本文來自Rancher Labs架構

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

那麼,什麼是Kubernetes發行版?當前又有哪些出衆的Kubernetes發行版呢?blog

什麼是Kubernetes?

在討論Kubernetes發行版以前,咱們先來回顧一下什麼是Kubernetes。開發

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

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

零基礎入門│帶你理解Kubernetesit

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最實用的解決方案。

相關文章
相關標籤/搜索