MCP Gateway项目部署指南:Google Cloud Run实践
概述
本文将详细介绍如何将IBM的MCP Gateway项目部署到Google Cloud Run平台。Google Cloud Run是一个全托管的无服务器容器平台,提供自动HTTPS、自动扩缩容至零以及内置的Cloud SQL和Memorystore(Redis)支持等特性,非常适合部署微服务架构的应用。
技术背景
MCP Gateway是一个基于容器的微服务网关,需要PostgreSQL数据库和Redis缓存支持。Google Cloud Run作为部署平台具有以下优势:
- 完全托管的容器运行环境
- 自动HTTPS证书管理
- 按请求计费,可缩容至零
- 原生集成Google Cloud数据库服务
- 内置健康检查和日志集成
部署前准备
在开始部署前,需要完成以下准备工作:
- 创建Google Cloud账户并启用计费功能
- 安装并配置gcloud命令行工具
- 在Google Cloud控制台启用以下API服务:
- Cloud Run API
- Cloud SQL Admin API
- Memorystore for Redis API
基础设施配置
1. 创建Cloud SQL PostgreSQL实例
使用以下命令创建PostgreSQL数据库实例:
gcloud sql instances create mcpgw-db \
--database-version=POSTGRES_14 \
--cpu=2 --memory=4GiB --region=us-central1
设置数据库管理员密码:
gcloud sql users set-password postgres \
--instance=mcpgw-db --password=mysecretpassword
创建专用数据库:
gcloud sql databases create mcpgw --instance=mcpgw-db
2. 创建Memorystore Redis实例
gcloud redis instances create mcpgw-redis \
--region=us-central1 \
--tier=STANDARD_HA \
--size=1
应用部署
1. 准备环境变量
MCP Gateway需要以下关键环境变量:
- JWT_SECRET_KEY:用于JWT令牌签名的密钥
- BASIC_AUTH_USER:基本认证用户名
- BASIC_AUTH_PASSWORD:基本认证密码
- DATABASE_URL:PostgreSQL连接字符串
- REDIS_URL:Redis连接地址
- CACHE_TYPE:缓存类型(设置为redis)
2. 部署到Cloud Run
使用以下命令部署MCP Gateway容器:
gcloud run deploy mcpgateway \
--image=ghcr.io/ibm/mcp-context-forge:latest \
--region=us-central1 \
--platform=managed \
--allow-unauthenticated \
--port=4444 \
--cpu=2 --memory=2Gi \
--set-env-vars=\
JWT_SECRET_KEY=your-secret,\
BASIC_AUTH_USER=admin,\
BASIC_AUTH_PASSWORD=changeme,\
AUTH_REQUIRED=true,\
DATABASE_URL=postgresql://postgres:mysecretpassword@<SQL_IP>:5432/mcpgw,\
REDIS_URL=redis://<REDIS_IP>:6379/0,\
CACHE_TYPE=redis
安全配置
1. 生成JWT令牌
可以通过以下方式生成JWT令牌:
docker run -it --rm ghcr.io/ibm/mcp-context-forge:latest \
python3 -m mcpgateway.utils.create_jwt_token -u admin
2. 访问受保护端点
使用生成的JWT令牌访问受保护的API端点:
curl -H "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN" \
https://<your-cloud-run-url>/tools
运维建议
- 监控与日志:利用Cloud Run内置的监控和日志功能跟踪应用性能
- 自动扩缩:根据负载情况调整自动扩缩参数
- 版本管理:利用Cloud Run的版本控制功能进行回滚
- 安全加固:定期轮换JWT密钥和数据库密码
- 成本优化:设置适当的并发数和内存配置以优化成本
总结
通过Google Cloud Run部署MCP Gateway项目,开发者可以获得一个高度可扩展、安全且易于管理的微服务网关。平台提供的全托管服务大大降低了运维复杂度,使团队可以专注于业务逻辑开发而非基础设施管理。本文提供的部署指南涵盖了从基础设施准备到应用部署的全流程,可作为项目上云的参考方案。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



