Saltar al contenido principal
Obsoleto — gráfico v1.xEsta página documenta las opciones de implementación del gráfico de Helm v1.x con plantillas en línea, que se encuentra en modo de mantenimiento. Para el gráfico v2.x, consulta Opciones de implementación con Helm. Para migrar, consulta la guía de actualización.
Esta guía cubre las opciones avanzadas de implementación de ClickStack con Helm. Para una 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:
  • Stack completo (predeterminado): todos los componentes incluidos
  • ClickHouse externo: usar un clúster de ClickHouse existente
  • OTel collector externo: usar infraestructura de OTel existente
  • Implementación mínima: solo HyperDX y dependencias externas

ClickHouse externo

Si ya tienes un clúster de ClickHouse (incluido ClickHouse Cloud), puedes desactivar el ClickHouse integrado y conectarte a tu instancia externa.

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

Usa este enfoque para pruebas rápidas o entornos no productivos:
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Deshabilitar el ClickHouse integrado

otel:
  clickhouseEndpoint: "tcp://your-clickhouse-server:9000"
  clickhousePrometheusEndpoint: "http://your-clickhouse-server:9363"  # Opcional

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

Opción 2: Secret externo (recomendado para entornos de producción)

Para implementaciones en producción en las 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

Crear el secret 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 que use el secret

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

otel:
  clickhouseEndpoint: "tcp://your-clickhouse-server:9000"
  clickhousePrometheusEndpoint: "http://your-clickhouse-server:9363"

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 específico de ClickHouse Cloud:
# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false
  persistence:
    enabled: false

otel:
  clickhouseEndpoint: "tcp://your-cloud-instance.clickhouse.cloud:9440?secure=true"

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

OTel collector externo

Si ya cuenta con una infraestructura de OTel collector:
# values-external-otel.yaml
otel:
  enabled: false  # Deshabilitar el OTel collector integrado

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

Implementación mínima

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

otel:
  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: Secret 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

Siguientes pasos

Última modificación el 10 de junio de 2026