Saltar al contenido principal
Versión 2.x del gráficoEsta página documenta el gráfico de Helm v2.x basado en subgráficos. Si aún usas el gráfico v1.x con plantillas en línea, consulta Opciones de implementación con Helm (v1.x). Para ver los pasos de migración, consulta la guía de actualización.
Esta guía cubre las opciones avanzadas de implementación de ClickStack con Helm. Para la instalación básica, consulta la guía principal de implementación con Helm.

Descripción general

El gráfico de Helm de ClickStack admite varias configuraciones de implementación:
  • Pila completa (predeterminada) — Incluye todos los componentes, gestionados por operadores
  • ClickHouse externo — Usa un clúster de ClickHouse existente
  • OTel collector externo — Usa infraestructura de OTel existente
  • Implementación mínima — Solo HyperDX y dependencias externas

ClickHouse externo

Si ya dispone de un clúster de ClickHouse (incluido ClickHouse Cloud), puede desactivar el ClickHouse integrado y conectarse a su instancia externa.

Opción 1: Configuración inline (desarrollo/pruebas)

Use este enfoque para pruebas rápidas o entornos no productivos. Proporcione los detalles de conexión mediante hyperdx.config y hyperdx.secrets:
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Deshabilitar el ClickHouse gestionado por el operador

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-password"
    CLICKHOUSE_APP_PASSWORD: "your-password"

  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
Instale con esta configuración:
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml

Opción 2: Secreto externo (recomendado para producción)

Para despliegues de producción en los que quieras mantener las credenciales separadas de la configuración de Helm:

Cree los archivos de configuración

# Crear connections.json
cat <<EOF > connections.json
[
  {
    "name": "Production ClickHouse",
    "host": "https://your-production-clickhouse.com",
    "port": 8123,
    "username": "hyperdx_user",
    "password": "your-secure-password"
  }
]
EOF

# Crear sources.json
cat <<EOF > sources.json
[
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_logs"
    },
    "kind": "log",
    "name": "Logs",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "TimestampTime",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "Body",
    "serviceNameExpression": "ServiceName",
    "bodyExpression": "Body",
    "eventAttributesExpression": "LogAttributes",
    "resourceAttributesExpression": "ResourceAttributes",
    "severityTextExpression": "SeverityText",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId"
  },
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_traces"
    },
    "kind": "trace",
    "name": "Traces",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "Timestamp",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "SpanName",
    "serviceNameExpression": "ServiceName",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId",
    "durationExpression": "Duration"
  }
]
EOF

Cree el secreto de Kubernetes

kubectl create secret generic hyperdx-external-config \
  --from-file=connections.json=connections.json \
  --from-file=sources.json=sources.json

# Eliminar archivos locales
rm connections.json sources.json

Configura Helm para usar el secreto

# values-external-clickhouse-secret.yaml
clickhouse:
  enabled: false

hyperdx:
  useExistingConfigSecret: true
  existingConfigSecret: "hyperdx-external-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse-secret.yaml

Uso de ClickHouse Cloud

En el caso de ClickHouse Cloud:
# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-cloud-password"
    CLICKHOUSE_APP_PASSWORD: "your-cloud-password"

  useExistingConfigSecret: true
  existingConfigSecret: "clickhouse-cloud-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"

OTel collector externo

Si ya cuenta con una infraestructura de OTel collector, desactive el subgráfico:
# values-external-otel.yaml
otel-collector:
  enabled: false  # Deshabilitar el subgráfico del OTel collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
Para obtener instrucciones sobre cómo exponer los endpoints del OTel collector mediante Ingreso, consulta Configuración de Ingreso.

Implementación mínima

Para las organizaciones que ya cuentan con infraestructura, implemente solo HyperDX:
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"

  # Opción 1: Inline (para pruebas)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

  # Opción 2: Secreto externo (producción)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

Próximos pasos

Última modificación el 10 de junio de 2026