返回市场
Kubernetes人工智能服务

Kubernetes人工智能服务

作者:hariohmprasath13 星标更新:2025-03-30

项目介绍

🎯 Kubernetes AI管理系统

Spring Boot Kubernetes Kotlin License

基于AI的Kubernetes管理(MCP+Agent)

    ⎈ K8s AI管理
    ├── 🤖 MCP服务器
    ├── 🔍 K8s工具
    └── 🚀 带Rest API的Agent模式

✨ 概述

该项目结合了AI的力量与Kubernetes管理。用户可以进行实时诊断、资源监控和智能日志分析。通过对话式AI简化Kubernetes管理,提供现代替代方案。

💡 只需自然提问——无需记忆命令!

🏗️ 项目结构

项目组织如下模块:

  • agent:基于Rest API的Agent模式,使用自然语言分析集群
  • mcp-server:MCP服务器,集成到MCP主机(如Claude桌面)以提供完整体验
  • tools:用于集群分析/管理的Kubernetes工具(由agent和mcp-server共同使用)

🎁 功能

这个基于AI的系统能够理解关于你的Kubernetes集群的自然语言查询。以下是系统提供的可以通过自然语言查询的一些功能:

🏥 集群健康和诊断

  • “我的集群状态如何?”
  • “显示默认命名空间中的所有pod”
  • “默认命名空间中是否有任何失败的pod?”
  • “我集群中哪些资源使用最多?”
  • “给我一个完整的集群健康检查”
  • “是否有任何节点不在就绪状态?”
  • “显示在默认命名空间中运行超过7天的pod”
  • “识别默认命名空间中重启次数高的pod”

🌐 网络分析

  • “显示支付服务的日志”
  • “列出集群中的所有入口”
  • “显示所有服务及其端点”
  • “检查我的服务‘api-gateway’是否有任何端点”
  • “显示所有具有外部IP的暴露服务”

💾 存储管理

  • “列出集群中的所有持久卷”
  • “显示未绑定的存储声明”
  • “集群中有哪些存储类?”
  • “哪些pod正在使用持久存储?”
  • “是否有接近容量的存储卷?”

⏱️ 作业和CronJob分析

  • “列出batch命名空间中运行的所有作业”
  • “显示过去24小时内失败的作业”
  • “哪些CronJob计划在未来一小时内运行?”
  • “显示‘备份’作业的执行历史”

⎈ Helm发布管理

  • “列出所有Helm发布”
  • “将MongoDB图表升级到版本12.1.0”
  • “我的Prometheus发布配置了哪些值?”
  • “回滚失败的Elasticsearch发布”
  • “显示我的Prometheus发布的修订历史”
  • “比较不同Helm发布之间的值”
  • “检查我的集群中的过时Helm图表”
  • “我的Elasticsearch图表的依赖项是什么?”

注意:该系统使用AI来分析日志、事件和资源使用的模式,从而提供智能诊断和建议。

🛠️ 先决条件

要求版本
☕ JDK17或更高版本
🧰 Maven3.8或更高版本
⎈ Minikube/任何Kubernetes集群配置~/.kube/config

注意:系统使用来自~/.kube/config的kubeconfig文件,请确保其正确配置。


🏗️ 1. 项目构建

# 构建所有模块
mvn clean package

# 运行MCP服务器
java -jar mcp-server/target/mcp-server-1.0-SNAPSHOT.jar

# 或者直接运行代理
java -jar agent/target/agent-*-fat.jar

🛠️ 2. Minikube设置

安装minikube并创建一个nginx部署:

# 安装minikube
brew install minikube

# 启动minikube
minikube start

# 确保kubeconfig已设置
kubectl config use-context minikube

# 部署nginx
kubectl create deployment nginx --image=nginx:latest

# 检查nginx是否正在运行
kubectl get pods

注意:你应该在输出中看到nginx pod

🛠️ 3. 测试项目

🤝 3.1 MCP服务器与Claude桌面集成

参见mcp-server/README.md了解如何与Claude桌面集成

3.2. 带Rest API的Agent模式

参见agent/README.md了解如何运行代理


📄 许可证

本项目采用MIT许可证——详情请参阅LICENSE文件。