Passer au contenu principal
Obsolète — chart v1.xCette page décrit les options de déploiement du chart Helm inline-template v1.x, qui est en mode maintenance. Pour le chart v2.x, consultez Options de déploiement Helm. Pour migrer, consultez le guide de mise à niveau.
Ce guide présente les options de déploiement avancées de ClickStack avec Helm. Pour une installation de base, consultez le guide principal de déploiement Helm.

Vue d’ensemble

Le chart Helm de ClickStack prend en charge plusieurs configurations de déploiement :
  • Stack complète (par défaut) - Tous les composants sont inclus
  • ClickHouse externe - Utiliser un cluster ClickHouse existant
  • collecteur OTEL externe - Utiliser une infrastructure OTel existante
  • Déploiement minimal - HyperDX uniquement, avec des dépendances externes

ClickHouse externe

Si vous avez déjà un cluster ClickHouse (y compris ClickHouse Cloud), vous pouvez désactiver le ClickHouse intégré et vous connecter à votre instance externe.

Option 1 : Configuration intégrée (développement/test)

Utilisez cette approche pour des tests rapides ou dans des environnements hors production :
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the built-in ClickHouse

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

hyperdx:
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
Installez avec cette configuration :
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml

Option 2 : Secret externe (recommandé pour la production)

Pour les déploiements en production où vous souhaitez conserver les identifiants séparés de votre configuration Helm :

Créez vos fichiers de configuration

# Create 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

# Create 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

Créer le secret Kubernetes

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

# Clean up local files
rm connections.json sources.json

Configurer Helm pour utiliser le 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

Using ClickHouse Cloud

Plus précisément pour 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"

Collecteur OTEL externe

Si vous disposez déjà d’une infrastructure de collecteurs OTEL :
# values-external-otel.yaml
otel:
  enabled: false  # Disable the built-in OTEL collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
Pour savoir comment exposer les endpoints de l’OTel collector via un ingress, consultez Configuration de l’ingress.

Déploiement minimal

Pour les organisations disposant déjà d’une infrastructure en place, déployez uniquement HyperDX :
# values-minimal.yaml
clickhouse:
  enabled: false

otel:
  enabled: false

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

  # Option 1: Inline (for testing)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

  # Option 2: External secret (production)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

Étapes suivantes

Dernière modification le 29 juin 2026