开放WebUI Kubernetes集成
](https://docs.docker.com/compose/)        
太长,读不下去了
使用自然语言与您的Kubernetes集群聊天!
该项目将OpenWebUI连接到Kubernetes,让您通过对话式人工智能管理集群。问“什么Pod在运行?”或“将我的部署扩展到5个副本”等问题,并立即获得结果。
______________________________________________________________________
目录
- 快速开始
- 步骤1:访问打开的WebUI - 步骤2:添加MCP网桥工具服务器 - 步骤3:向模型添加连接 - 步骤4:验证工具集成 - 步骤5:测试集成
- 1.打开WebUI - 2.奥拉马 - 3.MCP桥 - 4.Kubernetes集群
______________________________________________________________________
快速开始
一个命令设置:
./install.sh已安装的组件:
- Kind(Docker中的Kubernetes)
- 打开Web UI
- 奥拉玛
- MCP电桥
成功安装后,您将看到: ✅ Docker Compose启动完成!
服务地点:
- 打开WebUI: http://localhost:3000
- MCP桥: http://localhost:9000
- API Ollama: http://localhost:11434
配置Open WebUI以使用MCP工具
配置打开WebUI
运行安装脚本后,您需要配置Open WebUI以使用Kubernetes工具:
步骤1:访问打开的WebUI
- 打开浏览器并转到 http://localhost:3000
- 创建管理员帐户 首次访问
- 登录 使用您的新帐户
步骤2:添加MCP网桥工具服务器
- 点击您的 配置文件图标 (右上)
- 首选 设置
- 引导到 管理面板 → 工具
- 点击 “+添加工具服务器”
- 输入以下详细信息:
- 名字: Kubernetes Tools - 统一资源定位符: http://mcpo:9000 - 描述: Kubernetes management via kubectl and helm
- 点击 “添加”
______________________________________________________________________
______________________________________________________________________
步骤3:向模型添加连接
配置您的AI模型连接-使用本地Ollama或添加远程连接:
- 在 设置首选 管理面板 → 连接
- 对于当地Ollama (推荐):
- 应自动检测本地Ollama服务器 - 验证与的连接 http://ollama:11434
- 用于远程连接 (可选):
- 添加OpenAI、Anthropic或其他模型提供者 - 根据需要配置API密钥和终结点
步骤4:验证工具集成
- 回到 聊天界面
- 寻找 工具图标 (🔧) 在聊天输入区
- 您应该看到可用的工具,例如:
- kubectl_get -列出Kubernetes资源 - kubectl_apply -应用清单 - kubectl_describe -描述资源 - helm_install -安装Helm图表 - 还有更多。..
步骤5:测试集成
试着问这些问题来验证一切正常(复制并粘贴到聊天中):
复制并粘贴这些查询:
What pods are running in the kube-system namespace?Show me all services in the default namespaceList all deployments across all namespacesCreate a new namespace called productionInstall Jenkins using Helm in the jenkins namespace故障排除配置
如果工具未出现:
- 检查MCP网桥是否正在运行:
curl http://localhost:9000/health - 验证工具服务器URL是否准确:
http://mcpo:9000 - 重新启动Open WebUI:
docker-compose restart open-webui
如果您遇到连接错误:
- 确保所有容器都在运行:
docker-compose ps - 检查容器日志:
docker-compose logs mcpo - 验证容器之间的网络连接
然后打开http://localhost:3000开始和你的集群聊天吧!
示例查询:
- “kube系统中运行着哪些Pod?”
- “显示默认命名空间中的所有服务”
- “创建一个名为product的新命名空间”
- “在Jenkins命名空间中使用Helm安装Jenkins”
______________________________________________________________________
架构概述
该项目通过一个桥接架构将Open WebUI与Kubernetes管理功能集成在一起,该架构连接了多个组件,以提供AI驱动的Kubernetes操作。
架构图
graph TB
subgraph "External AI Services"
Gemini[Google Gemini
External API]
end
subgraph "User Interface"
User[User]
end
subgraph "UI Layer"
OpenWebUI[Open WebUI
Port: 3000]
Ollama[Ollama
LLM Server
Port: 11434]
end
subgraph "Bridge Layer"
MCP-Bridge[MCP-Bridge
OpenAPI Bridge
Port: 9000]
end
subgraph "Target Infrastructure"
K8s[Kubernetes Cluster
kubectl, helm, istioctl]
end
subgraph "Configuration"
KubeConfig[kubeconfig
./kube/config]
end
%% User interactions
User -->|Chat & Commands| OpenWebUI
%% AI Layer connections
OpenWebUI -->|LLM Requests| Ollama
OpenWebUI -.->|External API Calls| Gemini
OpenWebUI -->|Tool Calls
OpenAPI/REST| MCP-Bridge
%% Bridge Layer to Kubernetes
MCP-Bridge -->|kubectl commands| K8s
MCP-Bridge -->|helm operations| K8s
MCP-Bridge -->|istioctl commands| K8s
%% Configuration
KubeConfig -.->|Mounted Volume| MCP-Bridge
%% Styling
classDef userLayer fill:#e1f5fe
classDef aiLayer fill:#f3e5f5
classDef externalLayer fill:#fff8e1
classDef bridgeLayer fill:#fff3e0
classDef mcpLayer fill:#e8f5e8
classDef k8sLayer fill:#fce4ec
classDef configLayer fill:#f1f8e9
class User userLayer
class OpenWebUI,Ollama aiLayer
class Gemini,OpenAI,Anthropic externalLayer
class MCP-Bridge bridgeLayer
class K8s k8sLayer
class KubeConfig configLayer______________________________________________________________________
数据流
- 用户查询:用户在Open WebUI中询问与Kubernetes相关的问题
- 人工智能处理:Ollama处理查询并确定是否需要工具
- 工具选择:Open WebUI标识相应的kubectl_get工具
- API调用:Open WebUI对MCPO桥进行REST API调用
- 协议转换:MCPO将REST调用转换为MCP协议
- 响应链:结果通过同一链返回给用户
网络体系结构
graph LR
subgraph "Docker Network: mcp-lab-network"
subgraph "External Access"
Host[Host Machine
localhost:3000
localhost:9000]
end
subgraph "Internal Services"
OW[open-webui:8080]
MC[mcpo:9000]
K8S[Kubernetes:6443]
OL[ollama:11434]
end
end
Host -->|Port 3000| OW
Host -->|Port 9000| MC
OW --> OL
OW --> MC
MC --> K8S______________________________________________________________________
📂 存储库结构
openwebui-k8s-bridge/
├── mcp-bridge/ # Bridge service code
├── scripts/ # Setup and utility scripts
├── tests/ # Test scripts and examples
├── docs/ # Documentation
├── kube/ # Kubernetes configuration
├── docker-compose.yml # Complete stack setup
└── README.md # Main documentation组件
1. 打开WebUI
- 目的:用于人工智能交互的基于网络的聊天界面
- 端口: 3000
- 角色:提供用户界面,并利用工具调用功能协调人工智能对话
- 主要特点:
- 用于自然语言Kubernetes查询的聊天界面 - 用于外部API调用的工具服务器集成 - 模型管理和对话历史
2. 奥拉玛
- 目的:本地LLM服务器
- 端口: 11434
- 角色:提供用于理解用户查询和生成响应的AI语言模型(llama3.2:最新版本)
- 主要特点:
- 本地模型托管 - 函数调用能力 - 与Open WebUI集成
3. MCP电桥
- 目的:OpenAPI和MCP之间的协议桥
- 端口: 9000
- 角色:将来自Open WebUI的REST API调用转换为MCP协议调用
- 主要特点:
- Open WebUI的OpenAPI规范生成 - REST到MCP协议转换 - 工具参数验证和格式化
4 Kubernetes集群
- 目的:管理业务的目标基础设施
- 角色:正在管理的实际Kubernetes集群
- 访问:通过kubeconfig挂载为卷
用法
配置后,您可以询问有关Kubernetes集群的自然语言问题:
- “kube-system命名空间中正在运行哪些Pod?”
- “显示默认命名空间中的所有服务”
- “列出所有命名空间中的所有部署”
- “从nginx pod获取日志”
- 使用helm从repo安装argocdhttps://argoproj.github.io/argo-helm
______________________________________________________________________
AI将自动使用适当的Kubernetes工具来执行命令并提供格式化的响应。
在Google Cloud Shell中打开
您可以直接在Google Cloud Shell中打开此存储库,开始探索示例:

______________________________________________________________________
联系
如有疑问或反馈,请随时联系:
- 电子邮件:eyal@levys.co.il
- GitHub:
