本地運行Kubernetes的4種方法
設(shè)置一個本地開發(fā)環(huán)境,或者直接用這些工具嘗試容器編排平臺。
Kubernetes 是一個開源的容器編排平臺。它由 Google 開發(fā),為自動化部署、擴展和管理容器化應(yīng)用提供了一個開源系統(tǒng)。雖然大多數(shù)人在云環(huán)境中運行 Kubernetes,但在本地運行 Kubernetes 集群不僅是可能的,它還至少有兩個好處:
- 在決定使用 Kubernetes 作為主要平臺部署應(yīng)用之前,你可以快速試用它。
- 在將任何東西推送到公共云之前,你可以將其設(shè)置為本地開發(fā)環(huán)境,從而實現(xiàn)開發(fā)環(huán)境和生產(chǎn)環(huán)境之間的分離。
無論你的情況如何,將本地 Kubernetes 環(huán)境設(shè)置為你的開發(fā)環(huán)境都是推薦的選擇,因為這種設(shè)置可以創(chuàng)建一個安全而敏捷的應(yīng)用部署流程。
幸運的是,有多個平臺可以讓你嘗試在本地運行 Kubernetes,它們都是開源的,并且都是 Apache 2.0 許可。
- Minikube 的主要目標(biāo)是成為本地 Kubernetes 應(yīng)用開發(fā)的最佳工具,并支持所有適合的 Kubernetes 特性。
- kind 使用 Docker 容器“節(jié)點”運行本地 Kubernetes 集群。
- CodeReady Containers(CRC)用來管理為測試和開發(fā)目的優(yōu)化的本地 OpenShift 4.x 集群。
- Minishift 通過在虛擬機 (VM) 內(nèi)運行單節(jié)點的 OpenShift 集群,幫助你在本地運行 OpenShift 3.x 集群。
Minikube
Minikube
Minikube 是在本地計算機上運行 Kubernetes 環(huán)境的最知名、最流行的選擇。無論你使用什么操作系統(tǒng),Minikube 的文檔都會為你提供一個簡單的安裝指南。一般來說,安裝 Minikube 只需運行兩條命令:
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-PLATFORM-amd64
$ sudo install minikube-PLATFORM-amd64 /usr/local/bin/minikube
Minikube 可在 Linux、macOS 或 Windows 上快速設(shè)置本地 Kubernetes 集群,其功能如下:
- 支持最新的 Kubernetes 版本(包括 6 個以前的小版本)
- 跨平臺(Linux、macOS、Windows)
- 以虛擬機、容器或裸機的形式部署
- 支持多個容器運行時(CRI-O、containerd、Docker)
- 用于快速推送鏡像的 Docker API 端點
- 負(fù)載均衡器、文件系統(tǒng)掛載、FeatureGates 和其他高級功能
- 用于輕松安裝 Kubernetes 應(yīng)用的附加組件
因為 Minikube 是一個開源項目,你可以對它的源代碼做貢獻(xiàn)。
kind
kind
kind 的開發(fā)者將其描述為“一個使用 Docker 容器‘節(jié)點’運行本地 Kubernetes 集群的工具”。它是為測試 Kubernetes 而設(shè)計的,但也可能用于本地開發(fā)或持續(xù)集成。
kind 支持:
- 多節(jié)點(包括高可用性)集群
- 從源碼構(gòu)建 Kubernetes 版本
- Make/Bash/Docker 或 Bazel,以及預(yù)發(fā)布構(gòu)建
- Linux、MacOS 和 Windows
此外,kind 是一個經(jīng)過云原生計算基金會(CNCF)認(rèn)證的 Kubernetes 合規(guī)安裝程序。因為它是開源的,你可以在它的 GitHub 倉庫中找到 kind 的源碼。
CodeReady Container (CRC)
CodeReady Container
如果你想在本地嘗試最新版本的 OpenShift,可以嘗試紅帽的 CodeReady Containers (CRC)。CRC 將一個最小的 OpenShift 4.x 集群帶到你的本地計算機上,為開發(fā)和測試目的提供一個最小的環(huán)境。CRC 主要針對開發(fā)者的桌面使用。
你可以在 GitHub 上找到 CodeReady Container 的源碼,也是在 Apache 2.0 許可下提供的。
Minishift
Minishift
Minishift 項目幫助你在本地用 OKD 在虛擬機內(nèi)的單節(jié)點 OpenShift 集群運行一個版本的 OpenShift。你可以用它來嘗試 OpenShift,或者在你的本地主機上為云開發(fā)。
和這個列表中的其他工具一樣,Minishift 也是開源的,你可以在 GitHub 上訪問它的源碼。