clickstack-operators チャートでオペレーターと CRD をインストールし、その後メインの clickstack チャートで、ClickHouse、MongoDB、OpenTelemetry Collector 用のオペレーター管理カスタムリソースを作成します。
デフォルトでは、Helm チャートは次のコアコンポーネントをすべてプロビジョニングします。
- ClickHouse —
ClickHouseClusterおよびKeeperClusterカスタムリソースを通じて ClickHouse Operator により管理 - HyperDX — オブザーバビリティ UI と API
- OpenTelemetry (OTel) collector — サブチャートとして 公式の OpenTelemetry Collector Helm チャート を使用してデプロイ
- MongoDB —
MongoDBCommunityカスタムリソースを通じて MongoDB Kubernetes Operator (MCK) により管理
values.yamlによる環境別の設定- リソース制限とポッドレベルのスケーリング
- TLS とイングレスの設定
- シークレット管理と認証の設定
- チャートとあわせて任意の Kubernetes オブジェクト (NetworkPolicy、HPA、ALB Ingress など) をデプロイするための追加マニフェスト
適した用途
- 概念実証
- 本番環境
デプロイ手順
1
前提条件
- Helm v3+
- Kubernetes クラスター (v1.20+ 推奨)
- クラスターに接続できるように設定された
kubectl
2
ClickStack の Helm リポジトリを追加する
ClickStack の Helm リポジトリを追加します:
3
Operator をインストールする
まず、Operator のチャートをインストールします。これにより、メインチャートに必要な CRD が登録されます。次に進む前に、オペレーターのポッドの準備が完了するまで待ちます:
4
ClickStack をインストールする
オペレーターが起動したら、メインの Helm チャートをインストールします。
5
インストールの確認
インストールを確認します。すべてのポッドの準備が整ったら、次に進んでください。
6
ポートフォワード
ポートフォワードを使用すると、HyperDX にアクセスしてセットアップできます。本番環境にデプロイする場合は、適切なネットワークアクセス、TLS 終端、スケーラビリティを確保するため、代わりにイングレスまたはロードバランサー経由でサービスを公開してください。ポートフォワードは、ローカル開発や一時的な管理作業には適していますが、長期運用や高可用性が求められる環境には向きません。
8
values のカスタマイズ (任意)
--set フラグを使って設定をカスタマイズできます。たとえば、values.yaml を編集します。デフォルト値を取得するには、9
Secret の使用 (任意)
v2.x チャートでは、外部のシークレット管理 (secrets operator の使用など) では、既存の Kubernetes Secret を参照できます:
values の hyperdx.secrets から設定される単一の Secret (clickstack-secret) を使用します。ClickHouse のパスワード、MongoDB のパスワード、HyperDX の API key を含むすべての機密環境変数は、この 1 つの Secret を通じて扱われます。Secret の値を上書きするには:Using ClickHouse Cloud
本番環境に関する注意事項
タスク設定
hyperdx.tasks 配下に移動しました。
チャートのアップグレード
v1.x からアップグレードする場合v1.x の inline-template チャート からアップグレードする場合は、移行手順について Upgrade guide を参照してください。これは破壊的変更のため、インプレースでの
helm upgrade はサポートされていません。ClickStack のアンインストール
helm uninstall を実行しても削除されません。これは、意図しないデータ損失を防ぐための仕様です。PVC をクリーンアップするには、以下を参照してください。
トラブルシューティング
ログの確認
インストール失敗時のデバッグ
デプロイの確認
スキーマの選択: Map と JSON
Map(LowCardinality(String), String) カラムとして保存します。これは、オブザーバビリティのワークロードに推奨されるスキーマです。bucketed map serialization と、Map のキーおよび値に対するテキスト索引を組み合わせることで、動的な JSON サブカラムのようにキーごとの取り込みオーバーヘッドを発生させることなく、必要なルックアップだけを効率的に実行できます。
JSON 型のスキーマは、属性キーの集合が小さく安定しているワークロードで評価するためのベータ機能として利用できます。これはデフォルトとしては推奨されません。詳しい比較と、JSON サポートを有効にするために必要な環境変数については、Map と JSON 型の比較 を参照してください。
デプロイメントガイド
- デプロイメントオプション - 外部 ClickHouse、OTel collector、最小構成のデプロイメント
- 設定ガイド - API keys、シークレット、イングレスの設定
- Cloud デプロイメント - GKE、EKS、AKS の設定と本番環境向けのベストプラクティス
- アップグレードガイド - v1.x から v2.x への移行
- 追加マニフェスト - チャート とあわせてカスタム Kubernetes オブジェクトをデプロイ
v1.x ドキュメント
- Helm (v1.x) - v1.x デプロイメントガイド
- 設定 (v1.x) - v1.x 設定
- デプロイメントオプション (v1.x) - v1.x デプロイメントオプション
- Cloud デプロイメント (v1.x) - v1.x Cloud 設定
参考資料
- ClickStack スタートガイド - ClickStack の紹介
- ClickStack Helm チャート リポジトリ - チャートのソースコードと values のリファレンス
- Kubernetes ドキュメント - Kubernetes リファレンス
- Helm ドキュメント - Helm リファレンス