K8s_ai_assistant_mcp

K8s_ai_assistant_mcp

🚀 K8s AI Assistant MCP

本项目是一个全面的Kubernetes管理解决方案,它结合了MCP(模型上下文协议)服务器Rancher UI扩展,实现了由人工智能驱动的智能Kubernetes集群管理。

📋 目录

  • 概述
  • 架构
  • 组件
  • 特性
  • 演示
  • 安装
  • 使用方法
  • 开发
  • 许可证
  • 致谢

🎯 概述

本项目集成了两项强大的技术,打造了无缝的Kubernetes管理体验:

  1. 面向Kubernetes的MCP服务器 - 由人工智能驱动的Kubernetes操作命令接口
  2. Rancher UI扩展 - Rancher管理平台的可视化界面扩展

两者结合,通过统一的界面提供了命令行AI辅助和可视化管理功能。

🔄 系统工作流程

架构概述

K8s AI Assistant采用多层架构,通过AI分析处理自然语言查询,并通过MCP协议执行Kubernetes操作。

graph LR
A[用户输入] --> B[Rancher UI]
B --> C[后端API]
C --> D[Ollama AI]
D --> E[MCP服务器]
E --> F[Kubernetes]
F --> E
E --> D
D --> C
C --> B
B --> A

style A fill:#e1f5fe
style B fill:#fff3e0
style C fill:#f3e5f5
style D fill:#e8f5e8
style E fill:#fff8e1
style F fill:#fce4ec

核心组件

组件 技术 协议 端口 用途
前端 Vue.js + Rancher Shell HTTP/HTTPS 8005 用户界面和聊天体验
后端API Express.js HTTP 8055 请求路由和响应格式化
AI模型 Ollama (gpt-oss:20b) 兼容OpenAI的API 11434 自然语言处理和意图映射
MCP服务器 Node.js + TypeScript JSON-RPC + SSE 3000 Kubernetes命令执行
Kubernetes kubectl + Helm Kubernetes API 6443 集群管理和资源操作

请求流程

  1. 用户通过Rancher UI扩展提交自然语言查询
  2. 后端API验证并将请求路由到AI模型
  3. Ollama AI分析意图并映射到Kubernetes操作
  4. MCP服务器通过JSON-RPC执行kubectl/Helm命令
  5. Kubernetes API返回集群数据和操作结果
  6. 响应链通过AI格式化处理数据
  7. 前端显示格式化结果(表格、日志、洞察)

关键特性

  • 自然语言处理:将用户查询转换为Kubernetes命令
  • 实时执行:实时检索集群数据并执行操作
  • 智能格式化:由AI驱动的响应格式化和洞察
  • 安全操作:符合RBAC的集群访问和审计日志记录
  • 可扩展架构:模块化设计,便于添加功能

🏗️ 架构

┌─────────────────────────────────────────────────────────────┐
│                    K8s AI Assistant MCP                     │
├─────────────────────────────────────────────────────────────┤
│  ┌─────────────────┐    ┌─────────────────────────────────┐  │
│  │   MCP Server    │    │      Rancher UI Extensions      │  │
│  │   (Backend)     │    │         (Frontend)              │  │
│  │                 │    │                                 │  │
│  │ • kubectl ops   │    │ • Visual dashboards            │  │
│  │ • Helm support  │    │ • Resource management UI       │  │
│  │ • AI diagnosis  │    │ • Real-time monitoring         │  │
│  │ • Port forward  │    │ • Custom extensions            │  │
│  └─────────────────┘    └─────────────────────────────────┘  │
│           │                           │                      │
│           └───────────┬───────────────┘                      │
│                       │                                      │
│  ┌─────────────────────────────────────────────────────────┐  │
│  │              Kubernetes Cluster                         │  │
│  │  ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐   │  │
│  │  │   Pods      │ │ Services    │ │   Deployments   │   │  │
│  │  └─────────────┘ └─────────────┘ └─────────────────┘   │  │
│  └─────────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

🔧 组件

1. 面向Kubernetes的MCP服务器 (mcp-server-kubernetes/)

派生自Flux159/mcp-server-kubernetes

MCP服务器通过自然语言命令和自动化操作提供由人工智能驱动的Kubernetes管理。

关键特性:

  • 统一的kubectl API - 支持完整的kubectl命令
  • AI驱动的诊断 - 使用k8s-diagnose进行自动故障排除
  • Helm操作 - 图表管理和部署
  • 端口转发 - 安全访问集群服务
  • 非破坏性模式 - 安全的只读操作
  • 密钥掩码 - 注重安全的数据处理

可用命令:

# 资源管理
kubectl_get, kubectl_describe, kubectl_create, kubectl_apply
kubectl_delete, kubectl_scale, kubectl_patch, kubectl_rollout

# 监控与调试
kubectl_logs, port_forward, k8s-diagnose

# Helm操作
install_helm_chart, upgrade_helm_chart, uninstall_helm_chart

# 上下文管理
kubectl_context, list_api_resources, explain_resource

2. Rancher UI扩展 (rancher-ui/)

派生自rancher/ui-plugin-examples

Rancher UI扩展通过Rancher平台为Kubernetes资源提供可视化管理界面。

关键特性:

  • 可视化仪表盘 - 实时集群监控
  • 资源管理界面 - 直观的资源操作
  • 自定义扩展 - 可扩展的插件架构
  • 多集群支持 - 管理多个集群
  • 基于角色的访问 - 安全的访问控制

扩展类型:

  • 时钟扩展 - 实时显示集群时间
  • 主页扩展 - 自定义仪表盘视图
  • CRD扩展 - 自定义资源定义
  • 节点驱动扩展 - 云提供商集成
  • 顶级产品扩展 - 完整的产品集成

✨ 特性

人工智能驱动的管理

  • 自然语言Kubernetes命令
  • 自动故障排除和诊断
  • 智能资源推荐
  • 预测性扩展和优化

可视化界面

  • 实时集群监控仪表盘
  • 拖放式资源管理
  • 可视化的Pod和服务拓扑
  • 交互式日志查看

安全与合规

  • 基于角色的访问控制(RBAC)
  • 密钥管理和掩码
  • 审计日志记录和合规报告
  • 安全的端口转发

多集群支持

  • 跨多个集群的统一管理
  • 跨集群资源监控
  • 集中式配置管理
  • 集群健康评分

🎬 演示

演示截图

Rancher UI扩展界面

展示Kubernetes管理功能的Rancher UI扩展界面

更多演示内容(即将推出)

📸 更多演示图片

展示K8s AI Assistant实际运行情况的其他截图和视频

计划的演示内容:

  • MCP服务器命令行界面
  • AI驱动的故障排除工作流程
  • 多集群管理界面
  • 实时监控和警报
  • Helm图表部署过程
  • 端口转发和服务访问
  • 自定义扩展开发

交互式演示

🔗 实时演示占位符

即将推出:用于亲身体验的交互式演示环境

🚀 安装

前提条件

  • Kubernetes集群(本地或远程)
  • Node.js 18+ 和 npm/bun
  • 配置了集群访问权限的kubectl
  • Rancher Manager(用于UI扩展)
  • Ollama服务器(用于AI模型)

快速开始

  1. 克隆仓库:
git clone https://github.com/Thanhdeptr/K8s_AI_Assistant_MCP.git
cd K8s_AI_Assistant_MCP
  1. 安装MCP服务器:
cd mcp-server-kubernetes
npm install
npm run build
  1. 安装Rancher UI扩展:
cd ../rancher-ui
npm install
  1. 配置Claude Desktop:
{
"mcpServers": {
"k8s-ai-assistant": {
"command": "node",
"args": ["/path/to/K8s_AI_Assistant_MCP/mcp-server-kubernetes/dist/index.js"]
}
}
}
  1. 部署Rancher扩展:
# 构建和打包扩展
npm run build
npm run package

# 部署到Rancher
helm install k8s-ai-extensions ./charts/

详细设置说明

有关详细的设置说明,包括如何运行MCP服务器和后端服务器,请参阅 SETUP.md

📖 使用方法

MCP服务器命令

# 获取默认命名空间中的所有Pod
kubectl_get pods

# 描述特定的部署
kubectl_describe deployment my-app

# 扩展部署
kubectl_scale deployment my-app --replicas=5

# 诊断Pod问题
k8s-diagnose my-app-pod

# 端口转发到服务
port_forward service/my-app-service 8080:80

Rancher UI扩展

  1. 访问Rancher Manager
  2. 导航到扩展
  3. 安装K8s AI Assistant扩展
  4. 访问自定义仪表盘和工具

🛠️ 开发

项目结构

K8s_AI_Assistant_MCP/
├── mcp-server-kubernetes/     # MCP服务器后端
│   ├── src/                   # 源代码
│   ├── tests/                 # 单元测试
│   └── dist/                  # 构建产物
├── rancher-ui/               # Rancher UI扩展
│   ├── pkg/                  # 扩展包
│   ├── charts/               # Helm图表
│   └── assets/               # 扩展资源
└── docs/                     # 文档

开发环境设置

  1. MCP服务器开发:
cd mcp-server-kubernetes
npm run dev          # 开发模式,支持热重载
npm run test         # 运行测试
npm run build        # 生产环境构建
  1. Rancher UI开发:
cd rancher-ui
npm run dev          # 开发服务器
npm run build        # 构建扩展
npm run package      # 打包部署

测试

# 运行所有测试
npm run test:all

# 仅测试MCP服务器
cd mcp-server-kubernetes && npm run test

# 仅测试UI扩展
cd rancher-ui && npm run test

📄 许可证

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

🙏 致谢

本项目基于以下优秀的开源项目构建:

面向Kubernetes的MCP服务器

  • 原始仓库Flux159/mcp-server-kubernetes
  • 作者:Paras Patel 和 Suyog Sonwalkar
  • 许可证:MIT许可证
  • 描述:通过AI接口提供Kubernetes管理命令的MCP服务器

Rancher UI插件示例

  • 原始仓库rancher/ui-plugin-examples
  • 作者:Rancher Labs
  • 许可证:Apache 2.0
  • 描述:Rancher管理平台的示例UI扩展

主要贡献者

  • Flux159 - MCP服务器的开发和维护
  • Rancher Labs - UI扩展框架和示例
  • 开源社区 - 持续改进和反馈

⭐ 如果您觉得这个仓库有用,请给它点个星!

🔄 欢迎fork并贡献代码,让它变得更好!

  • 0 关注
  • 0 收藏,26 浏览
  • system 提出于 2025-10-05 21:45

相似服务问题

相关AI产品