用途
k8s-kind 用于管理 kind(Kubernetes IN Docker)本地集群,属于 kubectl-mcp-server 的技能之一,共提供 32 个工具。kind 通过 Docker 容器作为“节点”来运行本地 Kubernetes 集群,适用于本地开发、CI/CD 测试以及在不同 Kubernetes 版本上进行测试。
主要能力
工具覆盖以下方向:
- 环境检测与版本查询:kind_detect_tool、kind_version_tool、kind_provider_info_tool
- 集群生命周期:kind_create_cluster_tool、kind_delete_cluster_tool、kind_delete_all_clusters_tool、kind_list_clusters_tool
- 集群信息与状态:kind_cluster_info_tool、kind_cluster_status_tool、kind_get_nodes_tool、kind_node_labels_tool、kind_get_kubeconfig_tool、kind_set_kubeconfig_tool
- 配置管理:kind_config_generate_tool、kind_config_validate_tool、kind_config_show_tool、kind_available_images_tool
- 镜像加载:kind_load_image_tool、kind_load_image_archive_tool、kind_images_list_tool(可把本地 Docker 镜像直接载入 kind 集群,是本地开发中最常用的能力之一)
- 节点管理:kind_node_inspect_tool、kind_node_logs_tool、kind_node_exec_tool、kind_node_restart_tool、kind_build_node_image_tool
- 网络:kind_network_inspect_tool、kind_port_mappings_tool、kind_ingress_setup_tool
- 本地镜像仓库:kind_registry_create_tool、kind_registry_connect_tool、kind_registry_status_tool
- 日志与排障:kind_export_logs_tool
工具分为只读工具(20 个)和写入工具(12 个)。
使用方式
前置条件:需要安装 kind CLI 和 Docker(kind 依赖 Docker 容器运行集群)。
kind CLI 安装示例(资料原文):
macOS 通过 Homebrew:
brew install kind
或下载二进制(macOS 示例):
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-$(uname)-amd64
chmod +x ./kind && sudo mv ./kind /usr/local/bin/kind
其他平台安装(资料原文):
# macOS (Apple Silicon)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-arm64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# macOS (Intel)
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-darwin-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# Linux
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
# Verify
kind version
典型操作示例(资料原文):
检测安装:
kind_detect_tool()
创建集群:
kind_create_cluster_tool(name="dev-cluster")
指定节点镜像创建集群:
kind_create_cluster_tool(
name="v129-cluster",
image="kindest/node:v1.29.0"
)
多节点配置示例(kind-config.yaml):
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 30000
hostPort: 30000
protocol: TCP
- role: worker
- role: worker
加载镜像:
kind_load_image_tool(images="myapp:latest", name="my-cluster")
本地仓库工作流(资料原文):
kind_registry_create_tool()
config = kind_config_generate_tool(registry=True)
kind_create_cluster_tool(name="dev", config="/tmp/kind.yaml")
kind_registry_connect_tool(cluster_name="dev")
导出日志:
kind_export_logs_tool(name="my-cluster", output_dir="/tmp/kind-logs")
适用场景
- 本地开发:创建本地集群并载入本地 Docker 镜像进行调试
- CI/CD 测试:按版本创建临时集群、加载测试镜像、测试后删除
- 跨版本测试:用不同 kindest/node 镜像分别创建 v1.28、v1.29、v1.30 等集群
- 带本地镜像仓库或 Ingress 的开发环境搭建
- 集群、节点、网络层面的排障与日志收集
优先级规则(资料原文)
- 首先检测 kind CLI(CRITICAL,kind_detect_tool)
- 复杂场景生成配置(HIGH,kind_config_generate_tool)
- 集群创建后加载镜像(HIGH,kind_load_image_tool)
- 导出日志用于调试(MEDIUM,kind_export_logs_tool)
与 vind(vCluster)对比(资料原文)
- 用途:kind 用于本地开发/CI 集群;vind 用于现有 K8s 中的虚拟集群
- 隔离性:kind 在 Docker 中运行完整集群;vind 提供带隔离的虚拟命名空间
- 资源占用:kind 较高(完整集群);vind 较低(共享宿主集群)
- 适用:kind 适合本地测试、CI/CD;vind 适合多租户、开发环境
- 依赖:kind 需要 Docker;vind 需要已有 K8s 集群
限制
资料未提供收费、价格、平台限制等额外信息,相关内容暂未提供。