使用说明

项目简介

K8s智能运维MCP服务器是一个基于Spring Boot构建的MCP服务器,旨在利用AI技术增强Kubernetes集群的管理能力。它通过自然语言交互和智能诊断,简化运维操作,提高效率。

主要功能点

  • Pod 管理: 实时列表和分析Pod状态,智能日志分析和错误模式检测,AI驱动的Pod诊断和建议,安全的Pod命令执行。
  • Helm 集成: 智能Chart管理,无缝Release升级,仓库管理,配置追踪。
  • 事件分析: 实时事件监控,智能瓶颈检测,实时部署跟踪。
  • 自然语言交互: 通过自然语言查询Kubernetes集群信息和执行操作,无需记忆复杂命令。
  • 高级诊断: 智能Pod分析、资源瓶颈检测、智能事件分析,提供更深入的集群洞察。
  • 增强安全: 安全命令执行、命名空间隔离、审计日志,保障集群操作的安全性。
  • 优秀开发者体验: 自然语言界面、上下文帮助、丰富的错误信息,提升运维效率。

安装步骤

  1. 安装 prerequisites: 确保已安装 JDK 17+,Gradle 7.x+,并配置好 Kubernetes ('~/.kube/config') 和 Helm CLI。
  2. 构建项目: 在项目根目录下运行命令 './gradlew clean build' 构建项目。构建成功后,jar包通常位于 'build/libs' 目录下,请找到包含所有依赖的 fat jar 文件。

服务器配置

要将此MCP服务器连接到MCP客户端(例如 Claude Desktop),您需要配置客户端的 MCP 服务器连接信息。以下是一个示例 JSON 配置,您需要根据实际情况修改 '<<jar-location>>' 为构建生成的 fat jar 文件的实际路径。

{
  "mcpServers": {
    "k8s-ai-mcp-server": {  // MCP 服务器名称,可以自定义
      "command": "java",    // 启动服务器的命令,这里使用 java
      "args": [             // 启动参数
        "-Dspring.ai.mcp.server.stdio=true", // 启用标准输入输出流进行 MCP 通信
        "-Dspring.main.web-application-type=none", // 禁用 Web 应用类型,因为是 MCP 服务器
        "-Dlogging.pattern.console=",         // 清空控制台日志模式,避免干扰 MCP 通信
        "-jar",                              // 指定要运行的 jar 文件
        "<<jar-location>>"                 //  **请替换为实际的 fat jar 文件路径**
      ]
    }
  }
}

注意:

  • 请确保 '<<jar-location>>' 替换为实际构建生成的包含所有依赖的 fat jar 文件路径。
  • 'server name' 可以自定义,用于在 MCP 客户端中标识此服务器。
  • 此配置适用于通过标准输入输出流 (stdio) 与 MCP 客户端通信。

基本使用方法

配置完成后,在MCP客户端中选择您配置的服务器名称(例如 'k8s-ai-mcp-server')。您可以使用自然语言向服务器提问,例如:

  • "我的集群整体健康状况如何?"
  • "production 命名空间是否存在资源瓶颈?"
  • "列出 default 命名空间中所有 Pod 及其状态"
  • "为什么 auth-service Pod 启动失败?"
  • "在 staging 命名空间中安装 prometheus chart"

服务器会解析您的自然语言问题,并返回 Kubernetes 集群的相关信息或执行相应的操作。您无需记忆 kubectl 命令,即可方便地管理和监控 Kubernetes 集群。

信息

分类

开发者工具