本地運行 Kubernetes 的 4 種方法

Kubernetes 是一個開源的容器編排平台。它由 Google 開發,為自動化部署、擴展和管理容器化應用提供了一個開源系統。雖然大多數人在雲環境中運行 Kubernetes,但在本地運行 Kubernetes 集群不僅是可能的,它還至少有兩個好處:
- 在決定使用 Kubernetes 作為主要平台部署應用之前,你可以快速試用它。
- 在將任何東西推送到公共雲之前,你可以將其設置為本地開發環境,從而實現開發環境和生產環境之間的分離。
無論你的情況如何,將本地 Kubernetes 環境設置為你的開發環境都是推薦的選擇,因為這種設置可以創建一個安全而敏捷的應用部署流程。
幸運的是,有多個平台可以讓你嘗試在本地運行 Kubernetes,它們都是開源的,並且都是 Apache 2.0 許可。
- Minikube 的主要目標是成為本地 Kubernetes 應用開發的最佳工具,並支持所有適合的 Kubernetes 特性。
- kind 使用 Docker 容器「節點」運行本地 Kubernetes 集群。
- CodeReady Containers(CRC)用來管理為測試和開發目的優化的本地 OpenShift 4.x 集群。
- Minishift 通過在虛擬機 (VM) 內運行單節點的 OpenShift 集群,幫助你在本地運行 OpenShift 3.x 集群。
Minikube

Minikube 是在本地計算機上運行 Kubernetes 環境的最知名、最流行的選擇。無論你使用什麼操作系統,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 上快速設置本地 Kubernetes 集群,其功能如下:
- 支持最新的 Kubernetes 版本(包括 6 個以前的小版本)
- 跨平台(Linux、macOS、Windows)
- 以虛擬機、容器或裸機的形式部署
- 支持多個容器運行時(CRI-O、containerd、Docker)
- 用於快速推送鏡像的 Docker API 端點
- 負載均衡器、文件系統掛載、FeatureGates 和其他高級功能
- 用於輕鬆安裝 Kubernetes 應用的附加組件
因為 Minikube 是一個開源項目,你可以對它的源代碼做貢獻。
kind

kind 的開發者將其描述為「一個使用 Docker 容器『節點』運行本地 Kubernetes 集群的工具」。它是為測試 Kubernetes 而設計的,但也可能用於本地開發或持續集成。
kind 支持:
- 多節點(包括高可用性)集群
- 從源碼構建 Kubernetes 版本
- Make/Bash/Docker 或 Bazel,以及預發布構建
- Linux、MacOS 和 Windows
此外,kind 是一個經過雲原生計算基金會(CNCF)認證的 Kubernetes 合規安裝程序。因為它是開源的,你可以在它的 GitHub 倉庫中找到 kind 的源碼。
CodeReady Container (CRC)

如果你想在本地嘗試最新版本的 OpenShift,可以嘗試紅帽的 CodeReady Containers (CRC)。CRC 將一個最小的 OpenShift 4.x 集群帶到你的本地計算機上,為開發和測試目的提供一個最小的環境。CRC 主要針對開發者的桌面使用。
你可以在 GitHub 上找到 CodeReady Container 的源碼,也是在 Apache 2.0 許可下提供的。
Minishift

Minishift 項目幫助你在本地用 OKD 在虛擬機內的單節點 OpenShift 集群運行一個版本的 OpenShift。你可以用它來嘗試 OpenShift,或者在你的本地主機上為雲開發。
和這個列表中的其他工具一樣,Minishift 也是開源的,你可以在 GitHub 上訪問它的源碼。
為人服務的 Kubernetes
正如你所看到的,有幾種方法可以在本地環境中試用 Kubernetes。我有遺漏么?歡迎留言提問或提出建議。
via: https://opensource.com/article/20/11/run-kubernetes-locally
作者:Bryant Son 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive