MCP网关 - Kubernetes版
一个部署在Kubernetes上的、具备企业级功能、适当的健康检查以及自我修复能力的生产就绪型MCP(模型上下文协议)网关。
🚀 快速入门
先决条件
- Kubernetes 集群(Minikube、Docker Desktop 或云服务提供商)
- 已安装并配置 kubectl
- 建议配置4GB+内存和2+个CPU核心
1. 部署到Kubernetes
Windows
cd k8s\scripts
deploy.batLinux/麦金塔(Mac)
cd k8s/scripts
chmod +x deploy.sh
./deploy.sh2. 访问您的MCP网关
部署脚本将提供访问URL:
http://:4444
Username: admin
Password: admin123📋 项目结构
MCP-Gateway/
├── .env # Environment variables
├── README.md # This file
├── KUBERNETES_SETUP.md # Detailed Kubernetes setup guide
├── data/ # Persistent data directory
├── k8s/ # Kubernetes manifests
│ ├── namespaces/ # Namespace configuration
│ ├── configmaps/ # Configuration maps
│ ├── secrets/ # Encrypted secrets
│ ├── persistent-volumes/ # Storage definitions
│ ├── services/ # Service definitions
│ ├── deployments/ # Application deployments
│ └── scripts/ # Deployment scripts
├── kaggle-data/ # Kaggle datasets
└── logs/ # Application logs🏗️ 建筑学
核心服务
- MCP网关 - 主应用配置2个副本以实现高可用性
- PostgreSQL - 生产数据库,配备持久化存储
- 剧作家之桥 - 带有延长启动时间的浏览器自动化
- AI桥梁 - Context7与Gistpad的集成
- 数据桥梁 - Kaggle与MSSQL的集成
健康检查
- 存活探针 - 重启无响应的容器
- 就绪探针 - 将容器标记为准备接受流量
- 启动探测器 - 给容器一些时间来启动,然后再启动其他探测器
🔧 配置
环境变量
所有配置均通过以下方式管理:
.env用于本地开发的文件k8s/configmaps/mcp-gateway-config.yaml用于 Kubernetesk8s/secrets/mcp-gateway-secrets.yaml对于敏感数据
外部服务
- Kaggle - 数据竞赛平台
- GitHub - 代码仓库与Gist集成
- MSSQL(Microsoft SQL Server) - Microsoft SQL Server 数据库
- 上下文7 - 人工智能/机器学习服务
- 剧作家 - 浏览器自动化
🛠️ 管理命令
检查部署状态
kubectl get pods -n mcp-gateway
kubectl get services -n mcp-gateway查看日志
kubectl logs -f -n mcp-gateway --all-containers=true扩展服务
kubectl scale deployment mcp-gateway --replicas=3 -n mcp-gateway更新服务
kubectl set image deployment/mcp-gateway mcp-gateway=ghcr.io/ibm/mcp-context-forge:0.8.1 -n mcp-gateway清理部署
kubectl delete namespace mcp-gateway🔒 安全
- 命名空间隔离 - 所有服务都在专用命名空间中
- 密钥管理 - 以Base64编码的敏感数据
- 资源限制 - 防止资源滥用
- 安全上下文 - 尽可能使用非root用户
📈 表现
- 资源请求 - 为每项服务提供保证资源
- 资源限制 - 最大资源使用上限
- 水平扩展 - 多个副本以实现高可用性
- 持久存储 - 快速、可靠的数据持久化
🐛 故障排除
常见问题
Pod 状态卡在“Pending”
kubectl describe nodes
kubectl get pvc -n mcp-gateway服务无法访问
kubectl get endpoints -n mcp-gateway
kubectl get networkpolicy -n mcp-gatewayPlaywright Pod 重启
kubectl logs playwright-bridge -n mcp-gateway
kubectl exec playwright-bridge -n mcp-gateway -- ls -la /ms-playwright📚 文档
- KUBERNETES_SETUP.md 翻译为中文是:“KUBERNETES 部署指南.md” 或者 “KUBERNETES 设置文档.md” - 详细的Kubernetes设置指南
- Kubernetes 文档 - 官方Kubernetes文档
- kubectl 快捷键手册 - kubectl 命令
🤝 贡献
- 为仓库创建分支
- 创建一个特性分支
- 做出你的更改
- 提交拉取请求
📄 许可证
这个项目遵循MIT许可证授权。
🎉 成功了!
您的MCP网关现已在Kubernetes上运行,配置包括:
✅ 已解决的已退出问题(0) - 适当的存活性和就绪性探针\ ✅ 自修复建筑 - 自动从故障中恢复\ ✅ 可投入生产的数据库 - 使用持久化存储的PostgreSQL\ ✅ 所有外部服务 - Kaggle、GitHub、MSSQL、Context7 集成\ ✅ 代理支持 - 企业网络兼容性\ ✅(勾选标记,表示正确、确认或完成) 企业级安全 - 命名空间隔离和密钥管理\ ✅ 水平扩展 - 多个副本以实现高可用性\ ✅ 专业监控 - 全面的健康检查和日志记录
享受在 Kubernetes 上增强的 MCP 网关吧! 🚀
