このガイドでは、マネージド Kubernetes サービス上に ClickStack をデプロイする際の Cloud 固有の設定について説明します。基本的なインストールについては、Helm デプロイメントのメインガイド を参照してください。
Google Kubernetes Engine (GKE)
GKE にデプロイする場合は、クラウド固有のネットワークの挙動により、一部の値を上書きする必要があることがあります。
LoadBalancer の DNS 名前解決の問題
GKE の LoadBalancer サービスでは、内部 DNS の名前解決に問題が発生し、ポッド間通信がクラスター内ネットワークにとどまらず、外部 IP に解決されてしまうことがあります。これは特に、OTel collector から OpAMP server への接続に影響します。
症状:
- クラスター IP アドレスに対して "connection refused" エラーを示す OTel collector のログ
- 次のような OpAMP 接続の失敗:
dial tcp 34.118.227.30:4320: connect: connection refused
解決策:
OpAMP server の URL には、完全修飾ドメイン名 (FQDN) を使用します。
helm install my-clickstack clickstack/clickstack \
--set hyperdx.frontendUrl="http://your-external-ip-or-domain.com" \
--set otel.opampServerUrl="http://my-clickstack-clickstack-app.default.svc.cluster.local:4320"GKE に関するその他の考慮事項
# values-gke.yaml
hyperdx:
frontendUrl: "http://34.123.61.99" # LoadBalancerの外部IPを使用してください
otel:
opampServerUrl: "http://my-clickstack-clickstack-app.default.svc.cluster.local:4320"
# 必要に応じてGKEポッドネットワーキングを調整してください
clickhouse:
config:
clusterCidrs:
- "10.8.0.0/16" # GKEで一般的に使用される範囲
- "10.0.0.0/8" # その他の構成のフォールバックAmazon EKS
EKS へのデプロイでは、一般的な構成として次のものを検討してください。
# values-eks.yaml
hyperdx:
frontendUrl: "http://your-alb-domain.com"
# EKS では通常、以下のポッド CIDR を使用します
clickhouse:
config:
clusterCidrs:
- "192.168.0.0/16"
- "10.0.0.0/8"
# 本番環境向けにイングレスを有効化する
hyperdx:
ingress:
enabled: true
host: "hyperdx.yourdomain.com"
tls:
enabled: trueAzure AKS
AKS にデプロイする場合:
# values-aks.yaml
hyperdx:
frontendUrl: "http://your-azure-lb.com"
# AKS ポッドネットワーキング
clickhouse:
config:
clusterCidrs:
- "10.244.0.0/16" # 一般的な AKS ポッド CIDR
- "10.0.0.0/8"本番環境向け Cloud デプロイチェックリスト
任意のクラウドプロバイダー上で ClickStack を本番環境にデプロイする前に、次の項目を確認してください。
- 外部ドメイン/IP に合わせて適切な
frontendUrlを設定する - HTTPS アクセス用に、TLS を有効にしたイングレスを設定する
- 接続の問題が発生する場合は、
otel.opampServerUrlを FQDN で上書きする (特に GKE) - ポッドネットワークの CIDR に合わせて
clickhouse.config.clusterCidrsを調整する - 本番ワークロード向けに永続ストレージを構成する
- 適切なリソースリクエストと上限を設定する
- 監視とアラートを有効にする
- バックアップと災害復旧を構成する
- 適切なシークレット管理を実装する
本番環境におけるベストプラクティス
リソース管理
hyperdx:
resources:
requests:
cpu: 500m
memory: 1Gi
limits:
cpu: 2000m
memory: 4Gi高可用性
hyperdx:
replicaCount: 3
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- clickstack
topologyKey: kubernetes.io/hostname永続ストレージ
データ保持用に永続ボリュームが構成されていることを確認してください。
clickhouse:
persistence:
enabled: true
size: 100Gi
storageClass: "fast-ssd" # クラウド固有のストレージクラスを使用してくださいCloud環境固有のストレージクラス:
- GKE:
pd-ssdまたはpd-balanced - EKS:
gp3またはio2 - AKS:
managed-premiumまたはmanaged-csi
ブラウザー互換性に関する注意事項
HTTP のみのデプロイメント (開発/テスト) では、セキュアコンテキスト要件のため、一部のブラウザーで crypto API エラーが表示されることがあります。本番環境でのデプロイメントでは、必ずイングレス設定を通じて適切な TLS 証明書を使用した HTTPS を利用してください。
TLS の設定手順については、イングレス設定 を参照してください。
次のステップ
- 設定ガイド (v1.x) - API キー、シークレット、イングレス
- デプロイオプション (v1.x) - 外部システムの設定
- Helm メインガイド (v1.x) - Basic インストール
- Cloud デプロイメント (v2.x) - v2.x Cloud ガイド
- アップグレードガイド - v1.x から v2.x への移行