このガイドでは、Helm を使用した ClickStack の高度なデプロイメント オプションについて説明します。基本的なインストールについては、メインの Helm デプロイメント ガイドを参照してください。
概要
ClickStack の Helm チャートは、複数のデプロイ構成に対応しています。
- フルスタック (デフォルト) - すべてのコンポーネントを含む構成
- 外部 ClickHouse - 既存の ClickHouse クラスターを使用
- 外部 OTel collector - 既存の OTel インフラストラクチャを使用
- 最小構成でのデプロイ - HyperDX のみを使用し、依存関係は外部
外部 ClickHouse
既存の ClickHouse クラスター (ClickHouse Cloud を含む) がある場合は、内蔵の ClickHouse を無効にして、外部のインスタンスに接続できます。
オプション 1: インライン設定 (開発/テスト)
手早くテストしたい場合や、本番以外の環境ではこの方法を使用します。
# values-external-clickhouse.yaml
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: 外部 シークレット (本番環境に推奨)
認証情報を 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"
}
]
EOFKubernetesシークレットを作成する
kubectl create secret generic hyperdx-external-config \
--from-file=connections.json=connections.json \
--from-file=sources.json=sources.json
# ローカルファイルを削除する
rm connections.json sources.jsonHelm で シークレット を使用するように設定する
# 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.yamlUsing ClickHouse Cloud
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"外部 OTel collector
既存の OTel collector インフラストラクチャがある場合:
# values-external-otel.yaml
otel:
enabled: false # 組み込みのOTel collectorを無効にする
hyperdx:
otelExporterEndpoint: "http://your-otel-collector:4318"helm install my-clickstack clickstack/clickstack -f values-external-otel.yamlOTel collector のエンドポイントをイングレス経由で公開する手順については、イングレスの設定を参照してください。
最小限のデプロイ
既存のインフラストラクチャがある場合は、HyperDX のみをデプロイします。
# values-minimal.yaml
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: 外部シークレット(本番環境)
# useExistingConfigSecret: true
# existingConfigSecret: "my-external-config"
# existingConfigConnectionsKey: "connections.json"
# existingConfigSourcesKey: "sources.json"helm install my-clickstack clickstack/clickstack -f values-minimal.yaml次のステップ
- 設定ガイド (v1.x) - APIキー、シークレット、イングレスの設定
- Cloud デプロイメント (v1.x) - GKE、EKS、AKS 固有の設定
- メインの Helm ガイド (v1.x) - 基本インストール
- デプロイメントオプション (v2.x) - v2.x のデプロイメントオプション
- アップグレードガイド - v1.x から v2.x への移行