Kubernetes集群管理工具

mcp-k8s-eye是一款用于管理和分析Kubernetes集群工作负载状态的工具,支持多种Kubernetes资源操作、诊断和监控功能。

  • by wenhuwang
  • Go
  • 混合部署
  • 29 星标
  • 更新于
在 GitHub 查看 wenhuwang/mcp-k8s-eye

使用说明

mcp-k8s-eye

mcp-k8s-eye是一个可以管理kubernetes集群和分析工作负载状态的工具。

特性

Kubernetes核心操作

  • [x] 连接到Kubernetes集群
  • [x] 通用Kubernetes资源 管理能力
    • 支持所有导航资源:Pod、Deployment、Service、StatefulSet、Ingress。..
    • 支持自定义资源定义资源
    • 操作包括:列表、获取、创建、更新、删除
  • [x] Pod管理功能(exec、日志)
  • [x] 部署管理能力(规模)
  • [x] 描述Kubernetes资源
  • []解释Kubernetes资源

诊断

  • [x] 吊舱诊断(分析吊舱状态、容器状态、吊舱资源利用率)
  • [x] 服务诊断(分析服务选择器配置、未就绪端点、事件)
  • [x] 部署诊断(分析可用副本)
  • [x] StatefulSet诊断(分析StatefulSet服务(如果存在),pvc(如果存在,可用副本)
  • [x] CronJob诊断(分析CronJob计划、开始截止日期、最后计划时间)
  • [x] 入口诊断(分析入口类配置、相关服务、tls机密)
  • [x] NetworkPolicy诊断(分析网络策略配置、受影响的Pod)
  • [x] 验证webhook诊断(分析webhook配置、引用的服务和Pod)
  • [x] 修改webhook诊断(分析webhook配置、引用的服务和Pod)
  • [x] 节点诊断(分析节点状况)
  • []群集诊断和故障排除

监控

  • [x] Pod、部署、ReplicaSet、StatefulSet、DaemonSet工作负载资源使用情况(cpu、内存)
  • []节点容量、利用率(cpu、内存)
  • []集群容量、利用率(cpu、内存)

高级功能

  • [x] 支持多种传输协议(Stdio、SSE)
  • [x] 支持多个AI客户端

工具使用

资源操作工具

  • resource_get:获取命名空间中特定资源的详细资源信息
  • resource_list:列出命名空间中所有资源的详细资源信息
  • resource_create_or_update:在命名空间中创建或更新资源
  • resource_delete:删除命名空间中的资源
  • resource_describe:描述命名空间中的资源详细信息
  • deployment_scale:在命名空间中扩展部署
  • pod_exec:在命名空间中的pod中执行命令`
  • pod_logs:从命名空间中的pod获取日志

诊断工具

  • pod_analyze:诊断命名空间中的所有Pod
  • deployment_analyze:诊断命名空间中的所有部署
  • statefulset_analyze:诊断命名空间中的所有状态集
  • service_analyze:诊断命名空间中的所有服务
  • cronjob_analyze:诊断命名空间中的所有cronjobs
  • ingress_analyze:诊断命名空间中的所有入口
  • networkpolicy_analyze:诊断命名空间中的所有网络策略
  • validatingwebhook_analyze:诊断所有正在验证的Webhooks
  • mutatingwebhook_analyze:诊断所有变异的webhooks
  • node_analyze:诊断群集中的所有节点

监视工具

  • workload_resource_usage:获取命名空间(cpu、内存)中的pod/deploy/replicaset/statefulset资源使用情况

需求

  • 达到1.23或更高
  • kubectl已配置

安装

# clone the repository
git clone https://github.com/wenhuwang/mcp-k8s-eye.git
cd mcp-k8s-eye

# build the binary
go build -o mcp-k8s-eye

用法

标准模式

{
  "mcpServers": {
    "k8s eye": {
      "command": "YOUR mcp-k8s-eye PATH",
      "env": {
        "HOME": "USER HOME DIR"
      },
    }
  }
}

env.HOME 用于设置kubeconfig文件的HOME目录。

SSE模式

  1. 启动您的mcp-sse服务器
  2. 配置您的mcp服务器
{
  "mcpServers": {
    "k8s eye": {
      "url": "http://localhost:8080/sse",
      "env": {}
    }
  }
}

光标工具