Kubernetes 本地環境安裝 (Minikube / Kind)

為了方便學習與測試,我們通常不會直接在 AWS 或 GCP 上開一台昂貴的 Kubernetes 叢集。 最快的方法就是在自己的電腦上建立一個 本地叢集 (Local Cluster)

這類環境主要用於 開發 (Development)測試 (Testing)不適合 用於正式生產環境 (Production)。 如果你需要建立正式環境,請參考 生產環境建置

本篇將介紹兩個最流行的本地 K8s 工具:MinikubeKind

準備工作

在開始之前,請確保你的電腦已經安裝了 Docker。這兩個工具通常都依賴 Docker 來運行 K8s 節點。 如果你還沒安裝 Docker,請前往 Docker Desktop 下載並安裝。

安裝 kubectl

kubectl 是 Kubernetes 的命令列工具 (CLI),我們透過它對 K8s 叢集下達指令。

macOS (使用 Homebrew)

brew install kubectl

Windows (使用 PowerShell)

curl.exe -LO "https://dl.k8s.io/release/v1.29.0/bin/windows/amd64/kubectl.exe"
# 確保將 kubectl.exe 加入環境變數 PATH 中

Linux

請參考 官方安裝文件

安裝後,確認版本:

kubectl version --client

選擇並安裝本地 K8s 叢集

你可以選擇 Minikube 或 Kind。兩者都很優秀,選擇一個即可。

選項 A: Minikube (經典選擇)

Minikube 會建立一個虛擬機或容器,並在裡面運行一個單節點的 K8s 叢集。它功能完整,支援豐富的 Addons(如 Dashboard, Ingress)。

安裝 (macOS):

brew install minikube

安裝 (Windows):

在 PowerShell 中執行:

winget install minikube

啟動 Minikube:

minikube start

這會自動下載 K8s 映像檔並啟動叢集。啟動完成後,你可以隨時使用 minikube dashboard 開啟圖形化介面。

選項 B: Kind (Kubernetes in Docker)

Kind (Kubernetes IN Docker) 是使用 Docker 容器來模擬 K8s 節點。它的優點是啟動速度極快,且支援多節點 (Multi-node) 模擬,非常適合測試 CI/CD 流程或多節點行為。

安裝 (macOS):

brew install kind

安裝 (Windows):

在 PowerShell 中執行:

winget install Kubernetes.kind

建立叢集:

kind create cluster --name k8s-learn

驗證你的環境

無論你使用 Minikube 還是 Kind,安裝完成後,它們都會自動設定 ~/.kube/config 檔案,讓 kubectl 指令能連線到你的本地叢集。

檢查叢集資訊

kubectl cluster-info

你會看到類似 Kubernetes control plane is running at... 的訊息。

查看節點狀態

kubectl get nodes

輸出範例 (Kind):

NAME                      STATUS   ROLES           AGE   VERSION
k8s-learn-control-plane   Ready    control-plane   2m    v1.29.0

如果你看到狀態是 Ready,恭喜你!你已經成功擁有一個運作中的 Kubernetes 環境了。

常見指令小抄 (Cheat Sheet)

雖然我們還沒深入介紹,但以下幾個指令在學習過程中會反覆使用,可以先記下來:

  • kubectl get all: 列出當前 Namespace 下的所有資源。
  • kubectl run nginx --image=nginx: 快速啟動一個 Nginx Pod。
  • kubectl delete pod nginx: 刪除剛才建立的 Pod。