部署指南#
本指南涵盖 Cloud Native MCP Server 的各种部署策略和最佳实践。
前提条件#
系统要求#
- 操作系统: Linux, macOS, 或 Windows
- CPU: 最低 1 核,推荐 2+ 核
- 内存: 最低 512MB,推荐 1GB+
- 磁盘: 最低 100MB
- 网络: 可访问 Kubernetes 集群和配置的服务
软件要求#
- Go: 1.25+ (从源码构建)
- Docker: 20.10+ (容器化部署)
- kubectl: 已配置集群访问
- Helm: 3.0+ (Helm 部署)
服务依赖#
可选连接的服务:
- Grafana (可选)
- Prometheus (可选)
- Kibana (可选)
- Elasticsearch (可选)
- Alertmanager (可选)
- Jaeger (可选)
- OpenTelemetry (可选)
部署方式#
Cloud Native MCP Server 支持多种部署方式:
- 二进制部署 - 直接下载可执行文件运行
- Docker 部署 - 使用 Docker 容器运行
- Kubernetes 部署 - 在 Kubernetes 集群中部署
- Helm 部署 - 使用 Helm Chart 部署
快速部署#
二进制部署#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| # 下载最新版本
wget https://github.com/mahmut-Abi/cloud-native-mcp-server/releases/latest/download/cloud-native-mcp-server-linux-amd64
chmod +x cloud-native-mcp-server-linux-amd64
# 创建配置
cat > config.yaml << EOF
server:
mode: "sse"
addr: "0.0.0.0:8080"
logging:
level: "info"
kubernetes:
kubeconfig: ""
EOF
# 运行
./cloud-native-mcp-server-linux-amd64
|
Docker 快速启动#
1
2
3
4
5
| docker run -d \
--name cloud-native-mcp-server \
-p 8080:8080 \
-v ~/.kube:/root/.kube:ro \
mahmutabi/cloud-native-mcp-server:latest
|
生产环境考虑#
高可用性#
部署多个副本并设置适当的资源限制:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| replicaCount: 3
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "1Gi"
cpu: "1000m"
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
|
资源优化#
调优当前版本已支持的服务参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| config:
server:
readTimeoutSec: 30
writeTimeoutSec: 0
idleTimeoutSec: 60
kubernetes:
timeoutSec: 30
qps: 100.0
burst: 200
ratelimit:
enabled: true
requests_per_second: 100
burst: 200
|
1. 启用认证#
1
2
3
4
5
| config:
auth:
enabled: true
mode: "apikey"
apiKey: "${MCP_AUTH_API_KEY}"
|
2. 使用 Secrets#
1
2
3
4
5
6
7
8
| apiVersion: v1
kind: Secret
metadata:
name: k8s-mcp-secrets
type: Opaque
stringData:
mcp-api-key: "your-secret-key"
grafana-api-key: "your-grafana-key"
|
3. 网络策略#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: cloud-native-mcp-server
spec:
podSelector:
matchLabels:
app: cloud-native-mcp-server
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector: {}
ports:
- protocol: TCP
port: 8080
|
监控和可观测性#
健康检查#
服务器提供健康检查端点:
1
2
3
4
5
6
7
8
| # 基本健康检查
curl http://localhost:8080/health
# 详细健康信息
curl http://localhost:8080/health/detailed
# 就绪检查
curl http://localhost:8080/ready
|
Prometheus 指标在 /metrics 端点可用:
1
| curl http://localhost:8080/metrics
|
关键指标:
mcp_requests_total - 总请求数mcp_request_duration_seconds - 请求持续时间mcp_cache_hits_total - 缓存命中数mcp_cache_misses_total - 缓存未命中数mcp_active_connections - 活动连接数
相关文档#