當然可以,以下是為你這份 Kind 管理腳本寫的一份使用說明文檔,可作為 README.md
或內部文檔使用:
🚀 Kind 管理腳本說明文檔
本腳本是一個便捷的工具,幫助你快速創建、管理和診斷基于 Kind (Kubernetes IN Docker) 的本地 Kubernetes 集群,并支持模板管理、鏡像加載、kubeconfig 導出等功能。
📦 功能一覽
- 創建 Kind 集群,支持使用鏡像和模板配置
- 刪除集群
- 列出和切換當前集群
- 導出 kubeconfig
- 加載本地 Docker 鏡像到集群
- 檢查集群健康狀態
- 安裝可選組件(如 Metrics Server 和 Ingress Controller)
- 支持自定義模板配置(集群結構)
- 支持 demo 應用運行狀態檢查
📄 腳本使用方法
./kind-manager.sh [command] [options]
🔧 可用命令
命令 | 描述 |
---|---|
create <cluster-name> [--image <image>] [--config <template>] [--default] | 創建一個新的 Kind 集群 |
delete <cluster-name> | 刪除指定集群 |
export-kubeconfig <cluster-name> | 導出 kubeconfig 到本地文件 |
load-image <cluster-name> <image> | 向指定集群加載本地 Docker 鏡像 |
status <cluster-name> | 檢查集群是否存在 |
list | 列出當前所有 Kind 集群 |
use <cluster-name> | 切換 kubectl 上下文到指定集群 |
health-check | 檢查集群狀態(節點、組件、Demo 應用等) |
cluster-demo-setting list | 查看所有支持的模板名稱 |
cluster-demo-setting show <template-name> | 展示指定模板配置內容 |
help | 顯示幫助信息 |
🧩 創建集群用法詳解
./kind-manager.sh create my-cluster --image kindest/node:v1.24.3 --config ingress-cluster-demo
可選參數說明:
參數 | 描述 |
---|---|
--image | 指定 Kind 使用的節點鏡像 |
--config | 使用指定模板(位于 cluster-demo-setting/ 目錄) |
--default | 使用默認鏡像:kindest/node:v1.24.3 |
示例會使用模板
ingress-cluster-demo.yaml
創建一個包含 ingress 配置的集群。
📁 模板機制說明
模板文件應放在 cluster-demo-setting/
目錄下,每個模板是一個標準的 Kind 配置 YAML 文件。
示例結構:
cluster-demo-setting/
├── basic.yaml
├── ingress-cluster-demo.yaml
└── multi-node.yaml
你可以使用以下命令查看模板:
./kind-manager.sh cluster-demo-setting list
./kind-manager.sh cluster-demo-setting show ingress-cluster-demo
🛠? 常見操作示例
創建并安裝 ingress 和 metrics-server:
你可以修改腳本頂部變量來自動安裝這些組件:
WITH_METRICS=true
WITH_INGRESS=true
然后運行:
./kind-manager.sh create my-cluster --default --config ingress-cluster-demo
加載 Docker 鏡像到集群:
docker build -t myapp:v1 .
./kind-manager.sh load-image my-cluster myapp:v1
導出 kubeconfig:
./kind-manager.sh export-kubeconfig my-cluster
查看當前上下文和所有集群:
./kind-manager.sh list
檢查集群健康狀態:
./kind-manager.sh health-check
輸出示例:
🧩 Nodes reachable: ?
📈 Metrics-server running: ?
🌐 Ingress controller running: ?
🧪 Demo app deployed: ?
🛰? Ingress route configured: ?
? 環境依賴
- 已安裝 kind
- 已安裝 kubectl
💡 進階建議
你可以結合 Makefile
、tmux
、watch
等工具,把這個腳本納入你的本地開發自動化流程中。
如果你需要我為你生成一個 Markdown 文件版本、配套的模板示例或者增強腳本功能(比如添加 Helm chart 安裝支持),也可以隨時告訴我。