Kubernetes调试工具

KDebug是一个通过Claude AI与Kubernetes集群交互的调试工具,使用模型控制协议(MCP)执行Kubernetes命令,适用于集群监控和故障排查。

  • by soub4i
  • Go
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 soub4i/kdebug-mcp

使用说明

KDebug-Kubernetes调试MCP服务器

KDebug是一个Kubernetes调试工具,允许您通过Claude AI与Kubernetes集群进行交互。它使用模型控制协议(MCP)使Claude能够代表您执行Kubernetes命令。

概述

此工具允许您:

  • 检查Kubernetes资源(Pod、服务、部署等)
  • 查看pod日志
  • 检查节点状态
  • 监控事件
  • 而且,所有这些都是通过对话式人工智能实现的

安装

先决条件

  • 转到1.18+(如果从源代码构建)
  • Kubernetes集群访问已配置(~/.kube/config)
  • 支持MCP的Claude客户端

选项1:下载预构建的二进制文件

  1. 转到GitHub发布页面:
https://github.com/soub4i/kdebug-mcp/releases
  1. 下载适用于您的平台(macOS、Linux、Windows)的最新版本

  2. 使二进制文件可执行:

chmod +x kdebug-mcp
  1. 将二进制文件移动到PATH中的某个位置:
mv kdebug-mcp /usr/local/bin/kdebug-mcp
# or 
mv kdebug-mcp ~/bin/kdebug-mcp  # If you have ~/bin in your PATH

选项2:从源代码构建

  1. 克隆存储库:
git clone https://github.com/soub4i/kdebug-mcp.git
cd kdebug-mcp
  1. 构建二进制文件:
go build -o bin/server ./cmd/server/main.go

配置

配置Claude以使用KDebug

创建或编辑位于以下位置的Claude MCP配置文件:

  • macOS: ~/Library/Application Support/com.anthropic.claude/config.json
  • Linux: ~/.config/com.anthropic.claude/config.json
  • 窗户: %APPDATA%\com.anthropic.claude\config.json

添加以下配置:

{
    "mcpServers": {
        "kdebug": {
            "command": "/path/to/kdebug-mcp/bin/server"
        }
    }
}

替换 /path/to/kdebug-mcp/bin/server 使用KDebug二进制文件的实际路径。

Kubernetes上下文

KDebug使用您当前的Kubernetes上下文 ~/.kube/config请确保您的Kubernetes配置已正确设置。

要切换上下文,您可以使用:

kubectl config use-context <context-name>

用法

  1. 启动Claude并确保其已连接到您的KDebug MCP服务器
  2. 在与Claude的对话中,询问您的Kubernetes资源

示例提示:

  • “我的cluster.context:minikube.namespace:default有什么问题。”
  • “显示默认命名空间中的所有Pod”
  • “kube-system命名空间中正在运行哪些服务?”
  • “从命名空间abc中的pod xyz获取日志”
  • “列出我集群中的所有节点”
  • “检查默认命名空间中的最近事件”

可用命令

KDebug提供对以下Kubernetes资源的访问:

  • nodes:列出群集中的所有节点
  • pods:列出命名空间中的pod或获取特定pod
  • podLogs:从特定pod获取日志
  • services:列出命名空间中的服务或获取特定服务
  • deployments:列出命名空间中的部署或获取特定部署
  • statefulsets:在命名空间中列出有状态集或获取特定的有状态集
  • replicasets:列出命名空间中的副本集或获取特定的副本集
  • daemonsets:列出命名空间中的守护进程集或获取特定守护进程集
  • events:列出命名空间中的事件或与特定资源相关的事件

故障排除

常见问题

  1. Claude无法连接到KDebug

    • 检查Claude MCP配置中的路径是否正确
    • 确保KDebug二进制文件可执行
  2. 权限错误

    • 确保你的Kubernetes配置(~/.kube/config)具有必要的权限
    • 试着跑步 kubectl get pods 验证您的Kubernetes访问权限
  3. 上下文切换

    • 如果你有多个Kubernetes上下文,Claude会询问使用哪个上下文
    • 确保您有权访问您尝试使用的上下文

安全考虑

KDebug使用当前用户的权限执行Kubernetes命令。请注意,Claude对Kubernetes集群的访问权限与您通过配置的kubectl上下文的访问权限相同。

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。