Obot MCP网关 + 配备Qwen模型的Ollama
此目录包含用于在您的主机(支持GPU)上部署Obot MCP网关并运行Ollama的Kubernetes清单文件和设置脚本。
建筑
- Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,此处直接音译,若需具体语境下的翻译,可能需结合上下文)在您的(设备/系统)上运行 主机 支持GPU加速
- Obot MCP网关运行于 Kubernetes 集群连接到主机Ollama
- 好处;利益直接访问GPU,设置更简单,性能更佳
组件
- Ollama(主机)使用Qwen 2.5模型(qwen2.5:7b)的LLM运行时 - 支持GPU加速运行
- Obot MCP 网关(K8s)模型上下文协议通信网关服务
- Kubernetes 资源部署(Deployments)、服务(Services)、配置映射(ConfigMaps)
可用模型
该设置包括专为交互式使用优化的Qwen 2.5模型:
- Qwen2.5:7B(这里“7B”通常指的是模型参数量为70亿,即7 billion) (4.7GB)
- 具有76亿参数的快速通用模型 - 响应时间: 使用GPU时为5-15秒 (在CPU上约30-90秒) - 最适合用于:互动聊天、快速回复、一般性查询 - 推荐用于Obot聊天界面 - 支持CPU或GPU加速
文件
namespace.yaml- 创建obot-mcp命名空间obot-mcp-gateway-deployment.yaml- MCP网关部署模板setup.sh- 自动化设置脚本(在主机上安装Ollama,在K8s中部署Obot)ollama-deployment.yaml- (旧版)用于Ollama的K8s部署(在当前设置中未使用)
先决条件
主机要求:
- Ubuntu Linux(或其他Linux发行版)
- 至少需要10GB的可用存储空间来运行Ollama模型
- 推荐配置:使用8GB及以上显存的NVIDIA GPU以获得最佳性能
- 如果没有GPU:至少需要8GB内存(模型将在CPU上运行,速度较慢)
Kubernetes 要求:
- Kubernetes 集群(Rancher Desktop、minikube、kind 或云服务提供商)
- \
kubectl\已配置并连接到您的集群 - 所需最小集群资源:
- 网关:512MB-1GB内存,0.5-1个CPU核心
对于GPU加速(推荐):
- 已安装NVIDIA GPU驱动程序
- 建议配置8GB+的GPU显存
快速入门
运行安装脚本来部署所有内容:
./setup.sh该脚本将:
- 在您的设备上检查/安装Ollama 主机
- 配置Ollama以监听所有网络接口(K8s访问所需)
- 提示您选择CPU或GPU模式
- 检测并配置GPU支持(如已选择GPU模式)
- 拉取qwen2.5:7b模型
- 检测您的主机IP地址
- 在Kubernetes中部署Obot MCP网关(配置为使用主机Ollama)
- 显示访问信息和使用说明
手动部署
如果您更倾向于手动部署:
# 1. Install Ollama on host
curl -fsSL https://ollama.com/install.sh | sh
# 2. Configure Ollama to listen on all interfaces
sudo mkdir -p /etc/systemd/system/ollama.service.d
echo '[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"' | sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
# 3. Pull the Qwen model on host
ollama pull qwen2.5:7b
# 4. Get your host IP
HOST_IP=$(ip route get 1.1.1.1 | awk '{print $7; exit}')
echo "Host IP: $HOST_IP"
# 5. Create namespace
kubectl apply -f namespace.yaml
# 6. Update and deploy the gateway (replace HOST_IP with your actual IP)
# Edit obot-mcp-gateway-deployment.yaml and replace the OLLAMA_HOST value
# Then:
kubectl apply -f obot-mcp-gateway-deployment.yaml注: 自动化 setup.sh 建议使用脚本,因为它能自动处理主机IP检测。
访问服务
访问Obot网关
kubectl port-forward -n obot-mcp svc/obot-mcp-gateway 8080:8080然后在浏览器中打开 http://localhost:8080。
访问Ollama(在主机上)
Ollama 正在您的主机上运行,地址为:
http://localhost:11434无需端口转发——它已在本地可访问。
测试Ollama模型
测试qwen2.5:7b模型:
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:7b",
"prompt": "Hello, how are you?",
"stream": false
}'注: 响应时间因硬件而异——使用GPU时为5-15秒,使用CPU时为30-90秒。
在Obot中使用模型
- 访问Obot的方式为
http://localhost:8080在端口转发网关后 - 使用设置输出中显示的主机IP配置Ollama提供程序(例如。,
http://192.168.x.x:11434)
- 设置脚本显示如下: IMPORTANT: In obot, configure Ollama provider with URL: http://X.X.X.X:11434
- 选择
qwen2.5:7b聊天/交互式使用的模型
性能考量
配备GPU(8GB+显存):
- Qwen2.5:7B(注:这里的“7B”通常指的是模型参数量为70亿,即7 billion,但具体翻译时可根据上下文或官方说明调整表述)每条回复5-15秒 ⚡
- 模型加载时占用约5GB显存
- 非常适合互动聊天
仅CPU系统:
- Qwen2.5:7b每个回答30-90秒
- 需要8GB或以上的内存
- 仍可用于互动聊天
系统要求:
- 配备GPU建议配置:8GB显存+8GB内存
- 没有GPU8GB+ 运行内存
查看日志
# Ollama logs (on host)
sudo journalctl -u ollama -f
# Gateway logs (in Kubernetes)
kubectl logs -n obot-mcp -l app=obot-mcp-gateway -f配置
网关配置存储在ConfigMap中,并且可以进行修改:
kubectl edit configmap obot-mcp-config -n obot-mcp修改ConfigMap后,重启网关:
kubectl rollout restart deployment/obot-mcp-gateway -n obot-mcp资源扩展
(如需)扩展网关
kubectl scale deployment/obot-mcp-gateway -n obot-mcp --replicas=3注: Ollama 在主机上运行,因此扩展由主机资源处理,而非 Kubernetes。
清理
删除 Kubernetes 资源:
kubectl delete namespace obot-mcp从主机上卸载 Ollama(可选):
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm -rf /usr/local/bin/ollama
sudo rm -rf /usr/share/ollama
sudo rm -rf ~/.ollama
sudo rm /etc/systemd/system/ollama.service故障排除
主机上的Ollama服务未运行
检查Ollama服务状态:
sudo systemctl status ollama
sudo journalctl -u ollama -n 50如有需要,请重启:
sudo systemctl restart ollama网关无法连接到Ollama主机
这通常是因为 Ollama 仅监听本地主机。 解决办法:
- 配置 Ollama 监听所有接口:
sudo mkdir -p /etc/systemd/system/ollama.service.d
echo '[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"' | sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama- 验证Ollama是否在所有接口上监听:
systemctl status ollama | grep "Listening on"
# Should show: Listening on [::]:11434- 主机测试:
curl http://192.168.x.x:11434/api/tags- 测试从K8s Pod的连接性:
kubectl exec -n obot-mcp deployment/obot-mcp-gateway -- curl http://HOST_IP:11434/api/tagsGPU未被使用
检查Ollama是否检测到您的GPU:
sudo journalctl -u ollama | grep -i gpu
nvidia-smi如果未检测到GPU,请确保已正确安装NVIDIA驱动程序并重启系统。
注释
- Ollama 在您的主机上运行,而不在 Kubernetes 中
- Ollama 必须配置为监听 0.0.0.0:11434 (不仅仅是本地主机)以便K8s pods进行连接
- 模型存储在
/usr/share/ollama/.ollama/models在你的主机上 - 网关在Kubernetes中运行,并通过网络连接到主机Ollama
- 网关被暴露为负载均衡器服务(如需,可更改为NodePort或ClusterIP)
- GPU加速是自动的 如果已安装NVIDIA驱动程序
- 这种架构提供的性能优于在容器中运行Ollama
- 安装脚本会自动处理所有网络配置
