本项目是一个全面的Kubernetes管理解决方案,它结合了MCP(模型上下文协议)服务器和Rancher UI扩展,实现了由人工智能驱动的智能Kubernetes集群管理。
本项目集成了两项强大的技术,打造了无缝的Kubernetes管理体验:
两者结合,通过统一的界面提供了命令行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 | 集群管理和资源操作 |
┌─────────────────────────────────────────────────────────────┐
│ 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 │ │ │
│ │ └─────────────┘ └─────────────┘ └─────────────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
mcp-server-kubernetes/)派生自:Flux159/mcp-server-kubernetes
MCP服务器通过自然语言命令和自动化操作提供由人工智能驱动的Kubernetes管理。
k8s-diagnose进行自动故障排除# 资源管理
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
rancher-ui/)派生自:rancher/ui-plugin-examples
Rancher UI扩展通过Rancher平台为Kubernetes资源提供可视化管理界面。
展示Kubernetes管理功能的Rancher UI扩展界面
📸 更多演示图片
展示K8s AI Assistant实际运行情况的其他截图和视频
计划的演示内容:
- MCP服务器命令行界面
- AI驱动的故障排除工作流程
- 多集群管理界面
- 实时监控和警报
- Helm图表部署过程
- 端口转发和服务访问
- 自定义扩展开发
🔗 实时演示占位符
即将推出:用于亲身体验的交互式演示环境
git clone https://github.com/Thanhdeptr/K8s_AI_Assistant_MCP.git
cd K8s_AI_Assistant_MCP
cd mcp-server-kubernetes
npm install
npm run build
cd ../rancher-ui
npm install
{
"mcpServers": {
"k8s-ai-assistant": {
"command": "node",
"args": ["/path/to/K8s_AI_Assistant_MCP/mcp-server-kubernetes/dist/index.js"]
}
}
}
# 构建和打包扩展
npm run build
npm run package
# 部署到Rancher
helm install k8s-ai-extensions ./charts/
有关详细的设置说明,包括如何运行MCP服务器和后端服务器,请参阅 SETUP.md。
# 获取默认命名空间中的所有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
K8s_AI_Assistant_MCP/
├── mcp-server-kubernetes/ # MCP服务器后端
│ ├── src/ # 源代码
│ ├── tests/ # 单元测试
│ └── dist/ # 构建产物
├── rancher-ui/ # Rancher UI扩展
│ ├── pkg/ # 扩展包
│ ├── charts/ # Helm图表
│ └── assets/ # 扩展资源
└── docs/ # 文档
cd mcp-server-kubernetes
npm run dev # 开发模式,支持热重载
npm run test # 运行测试
npm run build # 生产环境构建
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 文件。
本项目基于以下优秀的开源项目构建:
⭐ 如果您觉得这个仓库有用,请给它点个星!
🔄 欢迎fork并贡献代码,让它变得更好!