Kubernetes MCP Server 使用说明
项目简介
Kubernetes MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在桥接大型语言模型 (LLMs) 与 Kubernetes 集群。它允许用户通过自然语言,例如使用 Claude 这样的 LLM,来管理和操作 Kubernetes 资源。该服务器提供了一系列工具,用于集群管理、命名空间操作、Pod 管理、Deployment 管理、Service 操作以及 YAML 清单应用等,使得 Kubernetes 资源的管理更加便捷和自然。
主要功能点
- 集群管理:支持连接和管理多个 Kubernetes 集群,并允许在不同集群上下文之间切换。
- 资源操作:提供 Kubernetes 资源的创建、读取、更新和删除 (CRUD) 操作。
- Pod 管理:支持列出 Pod、获取 Pod 详情、查看 Pod 日志以及删除 Pod 等操作。
- Deployment 管理:支持跨命名空间创建和管理 Deployment。
- Service 操作:支持与 Kubernetes Service 进行交互。
- YAML 支持:允许直接通过 YAML 文件应用 Kubernetes 清单。
- 自定义资源支持:支持与 Kubernetes 自定义资源定义 (CRD) 进行交互。
安装步骤
-
安装 Kai 二进制文件
确保你已安装 Go 语言环境。打开终端并执行以下命令安装 Kubernetes MCP Server:
go install github.com/basebandit/kai/cmd/kai安装成功后,'kai' 可执行文件通常会位于 '$GOPATH/bin' 或 '$HOME/go/bin' 目录下。请确保你的 'PATH' 环境变量包含了 Go 的 bin 目录。
服务器配置
Kubernetes MCP Server 作为一个 MCP 服务器,需要配置到 MCP 客户端中才能使用。以 Claude for Desktop 为例,你需要编辑 Claude 的配置文件 'claude_desktop_config.json',通常该文件位于:'~/Library/Application Support/Claude/claude_desktop_config.json'。
在 'claude_desktop_config.json' 文件中,找到 'mcpServers' 部分(如果不存在则创建),并添加 Kubernetes MCP Server 的配置信息。配置信息是一个 JSON 对象,包含以下字段:
{ "mcpServers": { "kubernetes": { # server name,可以自定义,用于在客户端中标识和选择该服务器 "command": "/path/to/kai" # Kubernetes MCP Server 的启动命令,这里需要替换为 'kai' 可执行文件的实际路径 } } }
注意:
- 请将 '/path/to/kai' 替换为你实际安装的 'kai' 可执行文件的绝对路径。你可以使用 'which kai' 命令查找 'kai' 的路径。
- 'kubernetes' 是你为这个 MCP 服务器自定义的名称,在 Claude 客户端中会显示这个名称。你可以根据需要修改。
- 此配置假设 'kai' 可执行文件可以直接运行,无需额外的参数。如果需要其他启动参数,可以在 'command' 字段后添加 '"args": ["arg1", "arg2"]' 数组进行配置。但根据仓库信息,此服务器默认监听 Stdio,无需额外参数。
基本使用方法
-
启动 Kubernetes MCP Server
在终端中运行 'kai' 命令即可启动服务器。服务器默认监听标准输入输出 (Stdio),并会输出 "Server started" 表示启动成功。
-
在 MCP 客户端中使用
配置完成后,在支持 MCP 协议的客户端(如 Claude for Desktop)中,选择你配置的服务器名称(例如 "kubernetes"),即可开始通过自然语言与 Kubernetes 集群进行交互。
你可以尝试使用如下自然语言指令,与 Kubernetes 集群交互:
- '列出所有命名空间的 Pod'
- '获取名为 my-pod 的 Pod 的详细信息'
- '查看 my-pod 这个 Pod 的日志'
- '删除名为 test-pod 的 Pod'
- '列出所有 Deployment'
LLM 客户端会将你的自然语言指令转换为对 MCP 服务器工具的调用,Kubernetes MCP Server 会执行相应的 Kubernetes 操作,并将结果返回给客户端。
注意:
- 首次使用可能需要配置 Kubernetes 集群的 kubeconfig 文件。根据代码,服务器默认加载 '$HOME/.kube/config' 文件,并命名集群为 "local"。你可以根据需要修改 'cmd/kai/main.go' 文件中的 kubeconfig 加载逻辑,或者添加加载 kubeconfig 文件的工具。
- 请确保运行 Kubernetes MCP Server 的用户具有访问 Kubernetes 集群的权限,并且 kubeconfig 文件配置正确。
信息
分类
开发者工具