🎯 Kubernetes人工智能管理系统
   
基于人工智能的Kubernetes管理(MCP+代理)
⎈ K8s AI Management
├── 🤖 MCP Server
├── 🔍 K8s Tools
└── 🚀 Agent mode with Rest API✨ 概述
该项目将人工智能的力量与Kubernetes管理相结合。用户可以执行实时诊断、资源监控和智能日志分析。它通过对话式人工智能简化了Kubernetes的管理,提供了一种现代的替代方案。
💡 只需自然提问,无需死记硬背命令!
🏗️ 项目结构
该项目分为以下模块:
- 代理:Rest API支持的代理模式,用于使用自然语言分析集群
- mcp服务器:MCP服务器支持可与MCP主机集成的工具(如Claude桌面),以提供完整的体验
- 工具:用于集群分析/管理的Kubernetes工具(由代理和mcp服务器使用)
🎁 特性
这个AI驱动的系统能够理解关于Kubernetes集群的自然语言查询。以下是系统提供的一些功能,可以使用自然语言进行查询:
🏥 群集运行状况和诊断
- “我的集群的状态如何?”
- “显示默认命名空间中的所有Pod”
- “默认命名空间中是否有任何失败的Pod?”
- “我的集群中使用最多资源的是什么?”
- “给我一个完整的集群健康检查”
- “是否有任何节点未处于就绪状态?”
- “显示默认命名空间中已运行超过7天的Pod”
- “识别在默认命名空间中运行的重启次数高的Pod”
🌐 网络分析
- “显示支付服务的日志”
- “列出群集中的所有入口”
- “显示所有服务及其端点”
- “检查我的服务‘api网关’是否有任何端点”
- “显示所有具有外部IP的暴露服务”
💾 存储管理
- “列出群集中的所有持久卷”
- “显示未绑定的存储声明”
- “群集中有哪些可用的存储类?”
- “哪些Pod正在使用持久存储?”
- “是否有接近容量的存储卷?”
⏱️ 作业和CronJob分析
- “列出批处理命名空间中所有正在运行的作业”
- “显示过去24小时内失败的作业”
- “CronJobs计划在接下来的一个小时内运行什么?”
- “显示'备份'作业的执行历史记录”
⎈Helm发布管理
- “列出所有Helm版本”
- “将MongoDB图表升级到12.1.0版本”
- “为我的Prometheus版本配置了哪些值?”
- “回滚失败的Elasticsearch版本”
- “显示Prometheus版本的修订历史记录”
- “比较不同Helm版本之间的值”
- “检查我集群中过时的Helm图表”
- “我的Elasticsearch图表的依赖关系是什么?”
注意:该系统使用人工智能来分析日志、事件和资源使用中的模式,以提供智能诊断和建议。
🛠️ 先决条件
| 要求 | 版本 |
|---|---|
| ☕ JDK | 17或更高版本 |
| 🧰 Maven | 3.8或更高版本 |
| ⎈Minikube/任何Kubernetes集群 | 已配置 ~/.kube/config |
注: 系统使用kubeconfig文件 ~/.kube/config,因此请确保其配置正确。______________________________________________________________________
🏗️ 1.项目建设
# Build all modules
mvn clean package
# Run the MCP server
java -jar mcp-server/target/mcp-server-1.0-SNAPSHOT.jar
# Alternatively, run the agent directly
java -jar agent/target/agent-*-fat.jar🛠️ 2.Minikube设置
安装minikube并创建nginx部署:
# Install minikube
brew install minikube
# Start minikube
minikube start
# Make sure kubeconfig is set
kubectl config use-context minikube
# Deploy nginx
kubectl create deployment nginx --image=nginx:latest
# Check whether nginx is running
kubectl get pods注: 你应该看看 nginx 输出中的pod🛠️ 3.测试项目
🤝 3.1 MCP服务器与Claude Desktop的集成
参见 mcp服务器/README.md 有关如何与Claude Desktop集成的说明
3.2.具有Rest API的代理模式
参见 代理/README.md 有关如何运行代理的说明
______________________________________________________________________
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

