Kubernetes作為最重要的開源容器編排平臺,用于自動化部署,擴展和管理容器化應用程序。盡管大多數企業在云環境中運行Kubernetes,但不少企業選擇在本地運行Kubernetes集群,因為首先在決定將其用作部署應用程序的主要平臺之前,可以快速試用Kubernetes;其次,可以將其設置為本地開發環境,然后再將任何內容推送到公有云,從而實現開發環境與生產環境之間的分離。
無論遇到什么情況,建議將本地Kubernetes設置為開發環境,因為這種設置可以創建安全,靈活的應用程序部署過程??梢試L試使用多種平臺在本地運行Kubernetes,它們都是開源的,并且在Apache 2.0許可下可用。
Minikube是本地Kubernetes應用程序開發的最佳工具,并支持所有合適的Kubernetes功能。
kind使用Docker容器“節點”運行本地Kubernetes集群。
CodeReady Container (CRC)管理為測試和開發目的而優化的本地OpenShift 4.x集群。
Minishift通過在虛擬機內運行單節點OpenShift集群來幫助企業本地運行OpenShift 3.x集群。
Minikube
Minikube是在本地環境上運行Kubernetes環境時,最出名和最受歡迎的選擇。無論使用哪種操作系統,Minikube的文檔都為用戶提供了簡單的安裝指南。通常,安裝Minikube就像運行兩個命令一樣簡單。
Minikube具有以下功能,可在Linux,macOS或Windows上快速設置本地Kubernetes集群;支持最新的Kubernetes版本(+6先前的次要版本);可部署虛擬機,容器或裸機;多個容器運行時(CRI-O,containerd,Docker)支持;Docker API端點,用于快速推送鏡像;LoadBalancer,文件系統掛載,FeatureGates和其他高級功能;輕松安裝Kubernetes應用程序的附加組件。
由于Minikube是一個開源項目,因此用戶可以為其源代碼做貢獻。
kind
kind被開發人員描述為“一種使用Docker容器“nodes”來運行本地Kubernetes集群的工具。”它主要用于測試Kubernetes,但也可用于本地開發或持續集成。
kind支持多節點(包括高可用性)集群;從源代碼構建Kubernetes版本;Make、Bash、Docker或Bazel,以及預發布的版本;支持Linux,macOS和Windows;
此外,kind是經過云原生計算基金會(CNCF)認證的一致Kubernetes安裝程序。因為它是開源的,所以可以在其GitHub存儲庫中找到kind的源代碼。
CodeReady Container (CRC)
如果要在本地嘗試最新版本的OpenShift,請使用紅帽的CodeReady Container (CRC)。CRC為本地環境帶來了一個最小的OpenShift 4.x集群,該集群為開發和測試目的提供了一個最小的環境。CRC主要針對開發人員的桌面上使用。
可以在GitHub上找到CodeReady Container的源代碼,也可以在Apache 2.0許可下獲得。
Minishift
Minishift幫助你在虛擬機中使用單節點OpenShift集群本地運行帶有OKD的OpenShift版本??梢允褂盟诒镜丨h境嘗試OpenShift或為云進行開發。
與以上其他工具一樣,Minishift是開源的,可以在GitHub上訪問其源代碼。