메인 콘텐츠로 건너뛰기
차트 버전 2.x이 페이지는 v2.x 서브차트 기반 Helm 차트를 설명합니다. 아직 v1.x 인라인 템플릿 차트를 사용하고 있다면 Helm 배포 옵션 (v1.x)을 참조하십시오. 마이그레이션 단계는 Upgrade guide를 참조하십시오.
이 가이드는 Helm을 사용한 ClickStack의 고급 배포 옵션을 다룹니다. 기본 설치 방법은 기본 Helm 배포 가이드를 참조하십시오.

개요

ClickStack의 Helm 차트는 여러 배포 구성을 지원합니다:
  • 전체 스택 (기본값) — 모든 구성 요소가 포함되며, 오퍼레이터가 관리합니다
  • 외부 ClickHouse — 기존 ClickHouse 클러스터 사용
  • 외부 OTel collector — 기존 OTel 인프라 사용
  • 최소 배포 — HyperDX만 포함하고, 나머지 종속성은 외부를 사용합니다

외부 ClickHouse

기존 ClickHouse 클러스터(ClickHouse Cloud 포함)가 있으면 내장 ClickHouse를 비활성화하고 외부 인스턴스에 연결할 수 있습니다.

옵션 1: 인라인 구성(개발/테스트)

빠른 테스트 또는 비프로덕션 환경에는 이 방법을 사용합니다. hyperdx.confighyperdx.secrets를 통해 연결 정보를 제공합니다:
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # 오퍼레이터가 관리하는 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: 외부 시크릿(운영 환경 권장)

운영 환경에 배포할 때 자격 증명을 Helm 구성과 분리해 관리하려면:

설정 파일 생성

# 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

# 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

Kubernetes 시크릿 생성

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

# 로컬 파일 정리
rm connections.json sources.json

Helm이 시크릿을 사용하도록 설정

# 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

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  # 서브차트 OTel collector 비활성화

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
인그레스를 통해 OTel collector 엔드포인트를 외부에 노출하는 방법은 Ingress Configuration을 참조하십시오.

최소 배포

기존 인프라를 갖춘 조직에서는 HyperDX만 배포합니다:
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  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: 외부 시크릿 (프로덕션)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml

다음 단계

마지막 수정일 2026년 6월 10일