本地環(huán)境運(yùn)行Kubernetes的4種開源工具
Kubernetes作為最重要的開源容器編排平臺(tái),用于自動(dòng)化部署,擴(kuò)展和管理容器化應(yīng)用程序。盡管大多數(shù)企業(yè)在云環(huán)境中運(yùn)行Kubernetes,但不少企業(yè)選擇在本地運(yùn)行Kubernetes集群,因?yàn)槭紫仍跊Q定將其用作部署應(yīng)用程序的主要平臺(tái)之前,可以快速試用Kubernetes;其次,可以將其設(shè)置為本地開發(fā)環(huán)境,然后再將任何內(nèi)容推送到公有云,從而實(shí)現(xiàn)開發(fā)環(huán)境與生產(chǎn)環(huán)境之間的分離。
無論遇到什么情況,建議將本地Kubernetes設(shè)置為開發(fā)環(huán)境,因?yàn)檫@種設(shè)置可以創(chuàng)建安全,靈活的應(yīng)用程序部署過程。可以嘗試使用多種平臺(tái)在本地運(yùn)行Kubernetes,它們都是開源的,并且在Apache 2.0許可下可用。
- Minikube是本地Kubernetes應(yīng)用程序開發(fā)的最佳工具,并支持所有合適的Kubernetes功能。
- kind使用Docker容器“節(jié)點(diǎn)”運(yùn)行本地Kubernetes集群。
- CodeReady Container (CRC)管理為測試和開發(fā)目的而優(yōu)化的本地OpenShift 4.x集群。
- Minishift通過在虛擬機(jī)內(nèi)運(yùn)行單節(jié)點(diǎn)OpenShift集群來幫助企業(yè)本地運(yùn)行OpenShift 3.x集群。
Minikube
Minikube是在本地環(huán)境上運(yùn)行Kubernetes環(huán)境時(shí),最出名和最受歡迎的選擇。無論使用哪種操作系統(tǒng),Minikube的文檔都為用戶提供了簡單的安裝指南。通常,安裝Minikube就像運(yùn)行兩個(gè)命令一樣簡單。

Minikube具有以下功能,可在Linux,macOS或Windows上快速設(shè)置本地Kubernetes集群;支持最新的Kubernetes版本(+6先前的次要版本);可部署虛擬機(jī),容器或裸機(jī);多個(gè)容器運(yùn)行時(shí)(CRI-O,containerd,Docker)支持;Docker API端點(diǎn),用于快速推送鏡像;LoadBalancer,文件系統(tǒng)掛載,F(xiàn)eatureGates和其他高級(jí)功能;輕松安裝Kubernetes應(yīng)用程序的附加組件。
由于Minikube是一個(gè)開源項(xiàng)目,因此用戶可以為其源代碼做貢獻(xiàn)。
kind
kind被開發(fā)人員描述為“一種使用Docker容器“nodes”來運(yùn)行本地Kubernetes集群的工具。”它主要用于測試Kubernetes,但也可用于本地開發(fā)或持續(xù)集成。

kind支持多節(jié)點(diǎn)(包括高可用性)集群;從源代碼構(gòu)建Kubernetes版本;Make、Bash、Docker或Bazel,以及預(yù)發(fā)布的版本;支持Linux,macOS和Windows;
此外,kind是經(jīng)過云原生計(jì)算基金會(huì)(CNCF)認(rèn)證的一致Kubernetes安裝程序。因?yàn)樗情_源的,所以可以在其GitHub存儲(chǔ)庫中找到kind的源代碼。
CodeReady Container (CRC)
如果要在本地嘗試最新版本的OpenShift,請(qǐng)使用紅帽的CodeReady Container (CRC)。CRC為本地環(huán)境帶來了一個(gè)最小的OpenShift 4.x集群,該集群為開發(fā)和測試目的提供了一個(gè)最小的環(huán)境。CRC主要針對(duì)開發(fā)人員的桌面上使用。

可以在GitHub上找到CodeReady Container的源代碼,也可以在Apache 2.0許可下獲得。
Minishift
Minishift幫助你在虛擬機(jī)中使用單節(jié)點(diǎn)OpenShift集群本地運(yùn)行帶有OKD的OpenShift版本??梢允褂盟诒镜丨h(huán)境嘗試OpenShift或?yàn)樵七M(jìn)行開發(fā)。

與以上其他工具一樣,Minishift是開源的,可以在GitHub上訪問其源代碼。