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) 进行交互。

安装步骤

  1. 安装 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,无需额外参数。

基本使用方法

  1. 启动 Kubernetes MCP Server

    在终端中运行 'kai' 命令即可启动服务器。服务器默认监听标准输入输出 (Stdio),并会输出 "Server started" 表示启动成功。

  2. 在 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 文件配置正确。

信息

分类

开发者工具