🚀 K8s人工智能助理MCP(不再工作)
一个全面的Kubernetes管理解决方案,结合了 MCP(模型上下文协议)服务器 和 Rancher用户界面扩展 用于智能、人工智能驱动的Kubernetes集群管理。
📋 目录
🎯 概述
该项目整合了两项强大的技术,以创建无缝的Kubernetes管理体验:
- Kubernetes的MCP服务器 -Kubernetes操作的AI驱动命令界面
- Rancher用户界面扩展 -Rancher管理平台的可视化界面扩展
该组合通过统一的界面提供命令行人工智能辅助和可视化管理功能。
🔄 系统工作流
架构概述
K8s AI Assistant遵循多层架构,通过AI分析处理自然语言查询,并通过MCP协议执行Kubernetes操作。
graph LR
A[User Input] --> B[Rancher UI]
B --> C[Backend API]
C --> D[Ollama AI]
D --> E[MCP Server]
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 | 集群管理和资源操作 |
请求流
- 用户提交自然语言查询 通过Rancher UI扩展
- 后端API 验证请求并将其路由到AI模型
- 成为AI 分析意图并映射到Kubernetes操作
- MCP服务器 通过JSON-RPC执行kubectl/Helm命令
- Kubernetes API 返回集群数据和操作结果
- 响应链 通过AI格式化处理数据
- 前端 显示格式化结果(表格、日志、见解)
主要特点
- 自然语言处理:将用户查询转换为Kubernetes命令
- 实时执行:实时集群数据检索和操作执行
- 智能格式化:人工智能驱动的响应格式和见解
- 安全操作: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/)
MCP服务器通过自然语言命令和自动化操作提供人工智能驱动的Kubernetes管理。
主要特点:
- API统一库贝特尔 -完整的kubectl命令支持
- 人工智能驱动的诊断 -自动故障排除
k8s-diagnose - Helm操作 -图表管理和部署
- 端口转发 -安全访问群集服务
- 无损模式 -安全的只读操作
- 秘密掩盖 -以安全为重点的数据处理
可用命令:
# Resource Management
kubectl_get, kubectl_describe, kubectl_create, kubectl_apply
kubectl_delete, kubectl_scale, kubectl_patch, kubectl_rollout
# Monitoring & Debugging
kubectl_logs, port_forward, k8s-diagnose
# Helm Operations
install_helm_chart, upgrade_helm_chart, uninstall_helm_chart
# Context Management
kubectl_context, list_api_resources, explain_resource2.Rancher用户界面扩展(rancher-ui/)
分叉自: rancher/ui插件示例
Rancher UI扩展通过Rancher平台为Kubernetes资源提供可视化管理界面。
主要特点:
- 可视化仪表板 -实时集群监控
- 资源管理UI -直观的资源操作
- 自定义扩展 -可扩展插件架构
- 多集群支持 -管理多个集群
- 基于角色的访问 -安全访问控制
扩展类型:
- 时钟扩展 -实时集群时间显示
- 主页扩展 -自定义仪表板视图
- CRD扩展 -自定义资源定义
- 节点驱动程序扩展 -云提供商集成
- 顶级产品扩展 -完成产品集成
✨ 特性
人工智能驱动的管理
- 自然语言Kubernetes命令
- 自动故障排除和诊断
- 智能资源推荐
- 预测性缩放和优化
视觉界面
- 实时集群监控仪表板
- 拖放资源管理
- 可视化pod和服务拓扑
- 交互式日志查看
安全与合规
- 基于角色的访问控制(RBAC)
- 秘密管理和掩盖
- 审计日志和合规性报告
- 安全端口转发
多集群支持
- 跨多个集群的统一管理
- 跨集群资源监控
- 集中配置管理
- 集群健康评分
🎬 演示
演示截图
Rancher UI扩展接口
*Rancher UI扩展界面显示Kubernetes管理功能*
其他演示内容(即将推出)
📸 更多演示图片 *其他屏幕截图和视频展示了K8s人工智能助手的实际应用* 计划演示内容: - MCP服务器命令行界面 - 人工智能驱动的故障排除工作流程 - 多集群管理界面 - 实时监控和警报 - Helm图表部署过程 - 端口转发和服务访问 - 自定义扩展开发
互动演示
🔗 现场演示占位符 *即将推出:互动演示环境,提供实践体验*
🚀 安装
先决条件
- Kubernetes集群(本地或远程)
- Node.js 18+和npm/bun
- kubectl配置了集群访问权限
- Rancher Manager(用于UI扩展)
- Ollama服务器(用于AI模型)
快速开始
- 克隆存储库:
git clone https://github.com/Thanhdeptr/K8s_AI_Assistant_MCP.git
cd K8s_AI_Assistant_MCP- 安装MCP服务器:
cd mcp-server-kubernetes
npm install
npm run build- 安装Rancher UI扩展:
cd ../rancher-ui
npm install- 配置Claude桌面:
{
"mcpServers": {
"k8s-ai-assistant": {
"command": "node",
"args": ["/path/to/K8s_AI_Assistant_MCP/mcp-server-kubernetes/dist/index.js"]
}
}
}- 部署Rancher扩展:
# Build and package extensions
npm run build
npm run package
# Deploy to Rancher
helm install k8s-ai-extensions ./charts/详细的设置说明
有关详细的设置说明,包括如何运行MCP服务器和后端服务器,请参阅 设置.md.
📖 用法
MCP服务器命令
# Get all pods in default namespace
kubectl_get pods
# Describe a specific deployment
kubectl_describe deployment my-app
# Scale a deployment
kubectl_scale deployment my-app --replicas=5
# Diagnose pod issues
k8s-diagnose my-app-pod
# Port forward to a service
port_forward service/my-app-service 8080:80Rancher用户界面扩展
- 访问牧场经理
- 导航到扩展
- 安装K8s AI助手扩展
- 访问自定义仪表板和工具
🛠️ 发展
项目结构
K8s_AI_Assistant_MCP/
├── mcp-server-kubernetes/ # MCP Server backend
│ ├── src/ # Source code
│ ├── tests/ # Unit tests
│ └── dist/ # Built artifacts
├── rancher-ui/ # Rancher UI extensions
│ ├── pkg/ # Extension packages
│ ├── charts/ # Helm charts
│ └── assets/ # Extension assets
└── docs/ # Documentation开发设置
- MCP服务器开发:
cd mcp-server-kubernetes
npm run dev # Development mode with hot reload
npm run test # Run tests
npm run build # Build for production- Rancher UI开发:
cd rancher-ui
npm run dev # Development server
npm run build # Build extensions
npm run package # Package for deployment测试
# Run all tests
npm run test:all
# Test MCP Server only
cd mcp-server-kubernetes && npm run test
# Test UI extensions only
cd rancher-ui && npm run test📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
该项目建立在以下开源项目的出色工作之上:
Kubernetes的MCP服务器
- 原始存储库: Flux159/mcp服务器kubernetes
- 作者 Paras Patel和Suyog Sonwalkar
- 许可证: MIT许可证
- 说明: MCP服务器通过AI接口提供Kubernetes管理命令
Rancher UI插件示例
- 原始存储库: rancher/ui插件示例
- 作者 牧场主实验室
- 许可证: Apache 2.0
- 说明: Rancher管理平台的UI扩展示例
主要贡献者
- Flux159 -MCP服务器开发和维护
- 牧场主实验室 -UI扩展框架和示例
- 开源社区 -持续改进和反馈
______________________________________________________________________
⭐ 如果你觉得这个存储库有用,请为其加星!
🔄 分叉并贡献,让它变得更好!
