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

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è)開(kāi)源項(xiàng)目,因此用戶可以為其源代碼做貢獻(xiàn)。
kind
kind被開(kāi)發(fā)人員描述為“一種使用Docker容器“nodes”來(lái)運(yùn)行本地Kubernetes集群的工具。”它主要用于測(cè)試Kubernetes,但也可用于本地開(kāi)發(fā)或持續(xù)集成。

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

與以上其他工具一樣,Minishift是開(kāi)源的,可以在GitHub上訪問(wèn)其源代碼。