Kind
Docker 容器內的輕量級 Kubernetes
產品說明
Kind (Kubernetes in Docker) 是一套使用 Docker 容器作為「節點 (Node)」來運行本地 Kubernetes 叢集的工具。它的誕生初衷是為了測試 Kubernetes 本身,但由於其極致的輕量化與快速啟動特性,現已成為開發者在本地端進行 K8s 開發、或在 CI/CD 流程中進行整合測試的首選方案。
與 Minikube 相比,Kind 不需要依賴重型的虛擬機 (VM),而是巧妙地利用 Docker 容器來模擬控制平面 (Control Plane) 與工作節點 (Worker Node)。這意味著只要你的電腦能跑 Docker,就能在幾秒鐘內啟動一個標準的、通過 CNCF 認證的 Kubernetes 叢集。它支援多節點 (Multi-node) 架構與高可用性 (HA) 設定,並且支援將本地編譯的 Docker Image 直接載入叢集,無需推送到遠端 Registry,大幅加速開發迴圈。
核心特色:
- 極速啟動:利用容器技術,通常能在 30 秒至 1 分鐘內完成叢集初始化。
- 低資源消耗:相較於 VM 方案,記憶體與 CPU 的開銷更低。
- CI/CD 友善:設計上易於整合至 GitHub Actions、GitLab CI 等自動化流程中。
- 本地映像檔載入:支援
kind load docker-image指令,直接將本地 Image 注入叢集,省去 Push/Pull 的時間。
常用指令
Kind 是一款純命令列工具 (CLI),操作邏輯簡單直觀。
叢集生命週期管理
# 建立一個預設名稱為 "kind" 的叢集
kind create cluster
# 建立一個指定名稱的叢集 (例如 my-cluster)
kind create cluster --name my-cluster
# 刪除預設叢集
kind delete cluster
| 指令 | 功能說明 | 範例 |
|---|---|---|
| create cluster | 建立叢集 | 啟動一個新的 K8s 環境 |
| delete cluster | 刪除叢集 | 移除叢集並清理相關 Docker 容器 |
| get clusters | 列出叢集 | 顯示目前已建立的所有 Kind 叢集名稱 |
| get nodes | 列出節點 | 顯示叢集內的容器節點資訊 |
| load docker-image | 載入映像檔 | 將本地 Docker Image 載入至 Kind 節點中 |
| export kubeconfig | 匯出設定 | 匯出 Kubeconfig 以供 kubectl 使用 |
進階技巧
多節點叢集配置:
透過一份簡單的 YAML 設定檔,即可模擬真實的多節點環境(例如 1 個 Master + 2 個 Worker)。config.yaml:
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - role: worker - role: worker執行指令:
kind create cluster --config config.yaml載入本地 Image:
開發時最常用的功能。當你在本地docker build好了一個 Image 後,不需要 Push 到 Docker Hub,直接載入即可:docker build -t my-app:latest . kind load docker-image my-app:latestIngress 支援:
Kind 支援透過extraPortMappings將容器內的 Ingress Controller Port 對應到本機,讓你能在瀏覽器中直接存取叢集內的服務。
操作介面
Kind 本身是 CLI 工具,執行過程會顯示清晰的進度與檢查項目。下圖展示了建立叢集時的終端機畫面。




![]()