使用说明
Halo MCP演示头盔图
一个简单的“Hello World”演示Helm图表,展示了用于测试ArgoCD MCP服务器功能的各种Kubernetes资源类型。
概述
此图表部署了一个包含以下组件的简单演示应用程序:
- 前端:Nginx提供“Hello World”页面
- 后端:Node.js API返回演示JSON响应
- 数据库:PostgreSQL(演示配置)
- 瑞迪斯:Redis缓存(演示配置)
- 工人:后台工作者(演示日志)
- 工作:迁移和清理作业(演示脚本)
⚠️ 这是一个具有虚拟配置的演示应用程序。请勿在生产中使用!
包括Kubernetes资源
此图表展示了各种各样的Kubernetes资源类型:
核心资源
NamespaceConfigMapSecretPersistentVolumeClaimService(集群IP,无头)
工作量资源
Deployment(前端、后端、Redis、Worker)StatefulSet(数据库)Job(移民)CronJob(清理)
网络
IngressNetworkPolicy
扩展和可用性
HorizontalPodAutoscalerPodDisruptionBudget
安全
ServiceAccountRole/ClusterRoleRoleBinding/ClusterRoleBindingPodSecurityPolicy
监控
ServiceMonitor(普罗米修斯操作员)PrometheusRule(警报规则)
安装
先决条件
- Kubernetes集群(1.19+)
- Helm 3.x
- 可选:普罗米修斯操作员用于监控
- 可选:用于外部访问的入口控制器
安装演示图表
# Install from local directory
helm install halo-mcp ./halo-mcp --namespace halo-mcp --create-namespace
# Check the deployment
kubectl get all -n halo-mcp
# Access the frontend (port-forward)
kubectl port-forward -n halo-mcp svc/halo-mcp-frontend 8080:80
# Access the backend API
kubectl port-forward -n halo-mcp svc/halo-mcp-backend 3000:3000
# Upgrade
helm upgrade halo-mcp ./halo-mcp --namespace halo-mcp
# Uninstall
helm uninstall halo-mcp --namespace halo-mcp
配置
关键配置选项
| 参数 | 说明 | 默认值 |
|---|---|---|
frontend.enabled |
启用前端部署 | true |
frontend.replicaCount |
前端副本数量 | 3 |
frontend.autoscaling.enabled |
为前端启用HPA | true |
backend.enabled |
启用后端部署 | true |
database.enabled |
启用PostgreSQL数据库 | true |
database.persistence.enabled |
启用持久存储 | true |
redis.enabled |
启用Redis缓存 | true |
worker.enabled |
启用工作部署 | true |
monitoring.enabled |
启用监控资源 | true |
security.rbac.enabled |
启用RBAC资源 | true |
security.networkPolicy.enabled |
启用网络策略 | true |
ingress.enabled |
启用入口 | true |
自定义值示例
# custom-values.yaml
app:
name: my-halo-mcp
environment: staging
frontend:
replicaCount: 2
autoscaling:
minReplicas: 1
maxReplicas: 5
database:
persistence:
size: 20Gi
storageClass: fast-ssd
ingress:
hosts:
- host: my-app.example.com
paths:
- path: /
pathType: Prefix
monitoring:
enabled: true
serviceMonitor:
enabled: true
测试ArgoCD MCP服务器
此图表专门用于测试各种ArgoCD MCP服务器功能:
可用资源操作
不同的资源类型支持不同的操作:
- 部署:重新启动、缩放、暂停、恢复
- 容器组:重新启动、删除、日志
- 有状态副本集:重新启动,缩放
- 工作:删除、挂起(适用于CronJobs)
- 服务:删除
- ConfigMaps/Secrets:删除
测试场景
-
应用管理
# List applications # Get application details # Sync application -
资源操作
# Scale frontend deployment kubectl scale deployment/my-halo-mcp-frontend --replicas=5 # Restart backend deployment kubectl rollout restart deployment/my-halo-mcp-backend # View logs kubectl logs -l app.kubernetes.io/component=backend -
监控和事件
# Check events kubectl get events --sort-by='.lastTimestamp' # View resource tree # Get application events
故障排除
常见问题
-
数据库连接问题
# Check database pod status kubectl get pods -l app.kubernetes.io/component=database # Check database logs kubectl logs -l app.kubernetes.io/component=database # Verify service name (should match your release name) kubectl get svc | grep database -
服务名称问题 数据库服务名称取决于您的Helm版本名称:
- 发布名称
halo-mcp→ 服务:halo-mcp-database - 发布名称
my-app→ 服务:my-app-halo-mcp-database
如果您看到连接错误,请检查实际的服务名称:
kubectl get svc -l app.kubernetes.io/component=database - 发布名称
-
前端权限问题 如果nginx启动失败,请检查日志:
kubectl logs -l app.kubernetes.io/component=frontend -c frontend
有用的命令
# Get all resources
kubectl get all -l app.kubernetes.io/instance=my-halo-mcp
# Check resource usage
kubectl top pods -l app.kubernetes.io/instance=my-halo-mcp
# Port forward to access services locally
kubectl port-forward svc/my-halo-mcp-frontend 8080:80
kubectl port-forward svc/my-halo-mcp-backend 3000:3000
# Execute into database
kubectl exec -it my-halo-mcp-database-0 -- psql -U halo_user -d halo_mcp
贡献
这是一个用于测试的演示图。您可以根据测试需求自由修改和扩展它。
许可证
此图表按原样提供用于演示目的。#mcp测试图
