跳转到主内容
跳转到主内容

Helm 部署选项

图表版本 2.x

本页面介绍的是基于子图表的 v2.x Helm 图表。如果你仍在使用 v1.x 内联模板 Helm 图表,请参阅Helm 部署选项 (v1.x)。有关迁移步骤,请参阅升级指南

本指南介绍使用 Helm 部署 ClickStack 的进阶选项。有关基础安装,请参阅Helm 部署指南

概述

ClickStack 的 Helm 图表支持多种部署配置:

  • 完整堆栈 (默认) — 包含所有组件,由 Operator 管理
  • 外部 ClickHouse — 使用现有的 ClickHouse 集群
  • 外部 OTel collector — 使用现有的 OTel 基础设施
  • 最小化部署 — 仅包含 HyperDX,并依赖外部组件

外部 ClickHouse

如果您已有现有的 ClickHouse 集群 (包括 ClickHouse Cloud) ,可以禁用内置的 ClickHouse 并连接到外部实例。

方案 1:内联配置 (开发/测试)

此方式适用于快速测试或非生产环境。通过 hyperdx.confighyperdx.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"
      }
    ]

按以下配置安装:

helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml

选项 2:外部 Secret (建议用于生产环境)

对于希望将凭据与 Helm 配置分开的生产环境部署:

使用 ClickHouse Cloud

对于 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

如果您已有现成的 OTEL collector 基础设施,请禁用该子图表:

# 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

如需了解如何通过入口暴露 OTel collector 端点,请参见 入口配置

最小化部署

对于已有基础设施的组织,只需部署 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

后续步骤