Passer au contenu principal
Version 2.x du chartCette page documente le chart Helm v2.x basé sur des sous-charts. Si vous utilisez encore le chart v1.x à modèle inline, consultez Options de déploiement avec Helm (v1.x). Pour la procédure de migration, consultez le Guide de mise à niveau.
Ce guide présente les options avancées de déploiement de ClickStack avec Helm. Pour l’installation de base, consultez le guide principal de déploiement avec Helm.

Vue d’ensemble

Le chart Helm de ClickStack prend en charge plusieurs configurations de déploiement :
  • Stack complet (par défaut) — Tous les composants sont inclus, gérés par des opérateurs Kubernetes
  • ClickHouse externe — Utiliser un cluster ClickHouse existant
  • OTel collector externe — Utiliser une infrastructure OTel existante
  • Déploiement minimal — HyperDX uniquement, dépendances externes

ClickHouse externe

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

Option 1 : Configuration inline (développement/tests)

Utilisez cette approche pour des tests rapides ou des environnements non productifs. Renseignez les informations de connexion via hyperdx.config et hyperdx.secrets :
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the operator-managed ClickHouse

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"
      }
    ]
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, si 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

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

Utilisation de ClickHouse Cloud

Dans le cas 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 externe

Si vous avez déjà une infrastructure de collectors OTEL en place, désactivez le sous-chart :
# values-external-otel.yaml
otel-collector:
  enabled: false  # Disable the subchart 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 points de terminaison de l’OTel collector via un Ingress, consultez Configuration d’Ingress.

Déploiement minimal

Pour les organisations disposant déjà de leur propre infrastructure, déployez uniquement HyperDX :
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  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 25 juin 2026