Helm演示图表

一个简单的Helm演示图表,用于展示Kubernetes资源类型以测试ArgoCD MCP服务器功能。

  • by geek0ps
  • Smarty
  • 本地部署
  • 更新于
在 GitHub 查看 geek0ps/mcp-test-chart

使用说明

Halo MCP演示头盔图

一个简单的“Hello World”演示Helm图表,展示了用于测试ArgoCD MCP服务器功能的各种Kubernetes资源类型。

概述

此图表部署了一个包含以下组件的简单演示应用程序:

  • 前端:Nginx提供“Hello World”页面
  • 后端:Node.js API返回演示JSON响应
  • 数据库:PostgreSQL(演示配置)
  • 瑞迪斯:Redis缓存(演示配置)
  • 工人:后台工作者(演示日志)
  • 工作:迁移和清理作业(演示脚本)

⚠️ 这是一个具有虚拟配置的演示应用程序。请勿在生产中使用!

包括Kubernetes资源

此图表展示了各种各样的Kubernetes资源类型:

核心资源

  • Namespace
  • ConfigMap
  • Secret
  • PersistentVolumeClaim
  • Service (集群IP,无头)

工作量资源

  • Deployment (前端、后端、Redis、Worker)
  • StatefulSet (数据库)
  • Job (移民)
  • CronJob (清理)

网络

  • Ingress
  • NetworkPolicy

扩展和可用性

  • HorizontalPodAutoscaler
  • PodDisruptionBudget

安全

  • ServiceAccount
  • Role / ClusterRole
  • RoleBinding / ClusterRoleBinding
  • PodSecurityPolicy

监控

  • 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:删除

测试场景

  1. 应用管理

    # List applications
    # Get application details
    # Sync application
    
  2. 资源操作

    # 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
    
  3. 监控和事件

    # Check events
    kubectl get events --sort-by='.lastTimestamp'
    
    # View resource tree
    # Get application events
    

故障排除

常见问题

  1. 数据库连接问题

    # 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
    
  2. 服务名称问题 数据库服务名称取决于您的Helm版本名称:

    • 发布名称 halo-mcp → 服务: halo-mcp-database
    • 发布名称 my-app → 服务: my-app-halo-mcp-database

    如果您看到连接错误,请检查实际的服务名称:

    kubectl get svc -l app.kubernetes.io/component=database
    
  3. 前端权限问题 如果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测试图