如果你需要大規模的容器編排,想必Kubernetes毋庸置疑是你的首要選擇,這一由谷歌推出的開源容器編排系統近年來發展飛速,大受業界及廣大用戶好評。
盡管如此,對于大多數用戶而言,Kubernetes存在著學習曲線陡峭、難以設置和配置的問題,導致終端用戶需要承擔繁重的管理工作。基于此,最佳的解決辦法并非單槍匹馬學習并直接上手Kubernetes,而是尋找一個完善的容器技術解決方案,這種方案通常將Kubernetes納為其支持和維護的組件之一,使用起來通常更直觀和簡潔,如此一來便極大程度降低了Kubernetes的上手門檻。
在本文中,我列出了10個業界比較流行的Kubernetes相關產品,包括了Kubernetes發行版、容器工具、不同的供應商提供的Linux內核等等。
本文的列表不包括Amazon EKS或者Google Kubernetes Engine(GKE)這樣的云服務,僅僅列出了可以在本地運行或作為云托管的軟件發行版。
目 錄
Rancher 2.0
CoreOS Tectonic/Red Hat CoreOS
Canonical Distribution of Kubernetes(CDK)
Docker 社區版 / Docker 企業版
Heptio Kubernetes 訂閱
Kontena Pharos
Pivotal 容器服務 (PKS)
Red Hat OpenShift
SUSE 容器服務平臺
Telekube
十大Kubernetes發行版
Rancher 2.0
嚴格來說,Rancher 2.0并不是一個單純的Kubernetes發行版,而是一個開源的Kubernetes管理平臺。Rancher 2.0 為企業用戶提供Kubernetes-as-a-Service (Kubernetes即服務),且能夠實現多Kubernetes集群的統一納管,不論這些Kubernetes集群在何處、以何種方式部署。這解決了生產環境中企業用戶可能面臨的基礎設施不同的困境。Rancher 2.0能統一納管來自Google(GKE)、Amazon(EKS)和Azure(AKS)等公有云上托管的Kubernetes服務的平臺。
Rancher Labs公司在2019年發布了提供輕量級的Kubernetes發行版,K3s。這款產品專為在資源有限的環境中運行Kubernetes的研發和運維人員設計。其每個服務器實例僅需512MB RAM以及200MB的磁盤空間。它刪除了舊的、非必須的代碼,整合正在運行的打包進程,使用containerd代替Docker作為運行時的容器引擎,并在除etcd之外引入了SQLite 作為可選的數據存儲,通過這些變化極大地減少了運行所需的空間和資源。
CoreOS Tectonic/Red Hat CoreOS
CoreOS提供以容器為中心的Linux發行版,它兼容Docker,但又有固定的鏡像格式、它自己的runtime、以及一個“企業級Kubernetes發行版”。上述這些共同構成了CoreOS Tectonic堆棧的基礎。
CoreOS操作系統Container Linux是業界的一大流行產品,它的亮點之一在于它就像一組容器化組件,用戶無需關閉正在運行的應用程序,即可將操作系統的自動更新整合到生產環境中。CoreOS還可以對Kubernetes進行“一鍵式”更新。此外,CoreOS Tectonic可以在Amazon Web Services、Microsoft Azure以及裸機上運行。
Red Hat收購了CoreOS之后,計劃將其集成到Red Hat OpenShift中。Container Linux將被重新命名為Red Hat CoreOS。此舉預計將在2020年之前完成,在此之前Container Linux將繼續得到支持。根據Red Hat的說法,過渡后將提供“幾乎所有”CoreOS Tectonic的功能。
Canonical Distribution of Kubernetes(CDK)
Canonical,Ubuntu Linux的制造商,也擁有自己的Kubernetes發行版,即Canonical Distribution of Kubernetes(CDK)。該發行版的一大賣點是它是一款廣泛受到支持、易于理解且普遍部署的Ubuntu Linux發行版。Canonical聲稱其堆棧既可以在任何云上運行,也可以在本地部署,并支持CPU和GPU驅動的工作負載。付費客戶還能享受Canonical的工程師遠程管理他們的Kubernetes集群的服務。
Canonical的Kubernetes發行版也有輕量級版本的,叫Microk8s。開發人員以及Kubernetes新手可以在筆記本或者臺式機上安裝Microk8s,將其用于測試、實驗,甚至在那些硬件配置低的生產環境中使用。
此外,Canonical和Rancher Labs共同開發了一個產品叫做“云原生平臺(Cloud Native Platform,簡稱CNP)”,它將Canonical的Kubernetes發行版和Rancher的容器管理平臺相匹配。如此,就可以使用Kubernetes管理運行在每個集群上的容器并且用Rancher管理多Kubernetes集群。目前,CNP已經在Rancher 2.x的版本中可以使用。
Docker 社區版 / Docker 企業版
對于很多人來說,Docker僅僅是容器。但實際上,2014年之后Docker也有它自己的集群和編排系統,Docker Swarm,而這一系統曾是Kubernetes的競爭對手。直到2017年10月,Docker宣布將在其未經修改的、永久標準的狀態中添加Kubernetes作為標準打包方式,這一調整涵蓋了Docker Community Edition和Docker Enterprise 2.0及以后的版本。
Docker Enterprise 3.0添加了Docker Kubernetes服務,這一Kubernetes集成可以保持開發人員桌面和生產部署環境中Kubernetes版本一致。