跳到主要内容
跳到主要内容

Helm 部署选项

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

概览

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

  • 全栈(默认) - 包含所有组件
  • 外部 ClickHouse - 使用现有的 ClickHouse 集群
  • 外部 OTel collector - 使用现有的 OTel 基础设施
  • 最小部署 - 仅包含 HyperDX,依赖外部组件

外部 ClickHouse

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

选项 1:内联配置(开发/测试)

此方法适用于快速测试或非生产环境:

# values-external-clickhouse.yaml \{#values-external-clickhouseyaml}
clickhouse:
  enabled: false  # 禁用内置 ClickHouse

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

hyperdx:
  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 \{#values-clickhouse-cloudyaml}
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"

有关连接 ClickHouse Cloud 的完整示例,请参阅《创建 ClickHouse Cloud 连接》

外部 OTel collector

如果你已经有现成的 OTel collector 基础设施:

# values-external-otel.yaml \{#values-external-otelyaml}
otel:
  enabled: false  # 禁用内置的 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 \{#values-minimalyaml}
clickhouse:
  enabled: false

otel:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
  
  # 选项 1:内联配置(用于测试)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
  
  # 选项 2:外部 Secret(生产环境)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

后续步骤