返回市场
MCP-K8S监控

MCP-K8S监控

作者:wenhuwang26 星标更新:2025-05-16

项目介绍

mcp-k8s-eye

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

功能

核心 Kubernetes 操作

  • 连接到 Kubernetes 集群
  • 通用 Kubernetes 资源管理能力
    • 支持所有标准资源:Pod、Deployment、Service、StatefulSet、Ingress 等
    • 支持自定义资源定义(CustomResourceDefinition)资源
    • 操作包括:列出、获取、创建、更新、删除
  • Pod 管理能力(执行命令、日志)
  • Deployment 管理能力(扩展)
  • 描述 Kubernetes 资源
  • 解释 Kubernetes 资源

诊断

  • Pod 诊断(分析 Pod 状态、容器状态、Pod 资源利用率)
  • Service 诊断(分析服务选择器配置、未就绪的端点、事件)
  • Deployment 诊断(分析可用副本)
  • StatefulSet 诊断(分析 StatefulSet 服务(如果存在)、PVC(如果存在)、可用副本)
  • CronJob 诊断(分析 CronJob 调度、启动截止时间、上次调度时间)
  • Ingress 诊断(分析 Ingress 类型配置、相关服务、TLS 密钥)
  • NetworkPolicy 诊断(分析网络策略配置、受影响的 Pod)
  • ValidatingWebhook 诊断(分析 Webhook 配置、引用的服务和 Pod)
  • MutatingWebhook 诊断(分析 Webhook 配置、引用的服务和 Pod)
  • Node 诊断(分析节点条件)
  • 集群诊断和故障排除

监控

  • Pod、Deployment、ReplicaSet、StatefulSet、DaemonSet 工作负载资源使用情况(CPU、内存)
  • 节点容量、利用率(CPU、内存)
  • 集群容量、利用率(CPU、内存)

高级功能

  • 多种传输协议支持(Stdio、SSE)
  • 支持多种 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:诊断命名空间中的所有 StatefulSet
  • service_analyze:诊断命名空间中的所有服务
  • cronjob_analyze:诊断命名空间中的所有 CronJob
  • ingress_analyze:诊断命名空间中的所有 Ingress
  • networkpolicy_analyze:诊断命名空间中的所有 NetworkPolicy
  • validatingwebhook_analyze:诊断所有 ValidatingWebhook
  • mutatingwebhook_analyze:诊断所有 MutatingWebhook
  • node_analyze:诊断集群中的所有节点

监控工具

  • workload_resource_usage:获取命名空间中 Pod/Deployment/ReplicaSet/StatefulSet 的资源使用情况(CPU、内存)

要求

  • Go 1.23 或更高版本
  • 配置好 kubectl

安装

# 克隆仓库
git clone https://github.com/wenhuwang/mcp-k8s-eye.git
cd mcp-k8s-eye

# 构建二进制文件
go build -o mcp-k8s-eye

使用

Stdio 模式

{
  "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": {}
    }
  }
}

光标工具

光标工具