返回市场
k8s诊断mcp服务器

k8s诊断mcp服务器

作者:himanshusharma892 星标更新:2025-10-13

项目介绍

Kubernetes诊断MCP服务器

一款专为智能Kubernetes故障排除和诊断设计的模型上下文协议(MCP)服务器。旨在通过高级调试功能补充现有的K8s管理工具。

🚀 功能特性

高级诊断

  • Pod健康分析:深入检查Pod问题并提供智能建议
  • 集群健康概览:全面评估集群健康状况
  • 日志分析:自动检测Pod日志中的错误模式
  • 工作负载推荐:针对部署和服务的最佳实践建议

智能故障排除

  • 识别常见问题:CrashLoopBackOff、ImagePullBackOff、资源限制
  • 根据错误模式提供上下文建议
  • 分析重启次数、资源使用情况和配置问题
  • 关联事件与Pod问题

适用于生产环境

  • 可以与任何Kubernetes集群(集群内或外部)配合使用
  • 支持kubeconfig和集群内身份验证
  • 全面的错误处理和日志记录
  • 遵循Kubernetes client-go最佳实践

🛠 安装

前提条件

  • Go 1.21+
  • 访问Kubernetes集群
  • 配置kubectl或在K8s集群内部运行

从源代码构建

git clone <此仓库>
cd k8s-diagnostics-mcp
go mod tidy
go build -o k8s-diagnostics-mcp

配置

服务器会自动检测您的Kubernetes配置:

  1. 集群内:当在K8s内部运行时使用服务账户
  2. 本地:使用~/.kube/config$KUBECONFIG环境变量

🔧 可用工具

diagnose_pod

诊断特定Kubernetes Pod的问题。

参数:

  • pod_name(必需):要诊断的Pod名称
  • namespace(可选):Kubernetes命名空间(默认:"default")

返回:

  • Pod状态和阶段信息
  • 容器重启次数和就绪状态
  • 识别的问题和智能建议
  • 与Pod相关的最近事件
  • 资源配置分析

analyze_cluster_health

分析整体Kubernetes集群健康状况并识别问题。

返回:

  • 节点数量和健康状态
  • 命名空间数量
  • 有问题的Pod列表及其诊断结果
  • 资源使用概述
  • 集群范围内的建议

get_workload_recommendations

获取改进工作负载配置的建议。

参数:

  • namespace(可选):要分析的Kubernetes命名空间(默认:"default")

返回:

  • 部署的最佳实践建议
  • 资源限制建议
  • 高可用性建议

analyze_pod_logs

获取并分析Pod日志中的常见错误模式。

参数:

  • pod_name(必需):Pod名称
  • namespace(可选):Kubernetes命名空间(默认:"default")
  • container(可选):特定容器名称
  • lines(可选):要检索的日志行数(默认:110)

返回:

  • 原始日志输出
  • 检测到的错误模式
  • 基于错误的上下文建议
  • 日志分析摘要

📚 资源

k8s://troubleshooting/common-issues

提供全面的Kubernetes常见问题故障排除指南,包括:

  • CrashLoopBackOff调试
  • ImagePullBackOff解决
  • 待定Pod问题
  • 性能故障排除
  • 网络问题诊断

🎯 使用场景

对于DevOps工程师

  • 在事故期间快速诊断Pod问题
  • 集群健康监控和警报
  • 自动化故障排除流程
  • 最佳实践合规性检查

对于平台团队

  • 标准化的故障排除程序
  • 通过AI辅助调试进行知识共享
  • 主动发现问题
  • 开发者自助调试

对于AI辅助操作

  • 与ChatGPT、Claude或其他LLM集成
  • 自然语言故障排除查询
  • 自动化事故响应
  • 智能警报关联

🌟 独特之处

与专注于基本集群管理的现有Kubernetes MCP服务器不同,该服务器专门用于:

  1. 智能问题检测:超越简单的状态检查,识别根本原因
  2. 上下文建议:根据特定错误模式提供可操作的建议
  3. 日志分析:自动解析和分析日志中的常见问题
  4. 生产就绪:考虑到企业Kubernetes环境而构建
  5. CNCF生态系统集成:设计为与其他CNCF工具和最佳实践协同工作

🤝 贡献

我们欢迎贡献!该项目符合我们对CNCF生态系统和开源社区的承诺。

开发

# 本地运行
go run main.go

# 运行测试
go test ./...

# 生产构建
go build -ldflags="-s -w" -o k8s-diagnostics-mcp

📞 支持

  • 项目博客:查看我们的技术博客了解K8s最佳实践
  • GitHub问题:报告错误和功能请求
  • CNCF社区:参与更广泛的Kubernetes社区

🏷 许可证

[待定]


为CNCF社区打造,充满爱心