本指南介绍在托管 Kubernetes 服务上部署 ClickStack 时的云平台特定配置。有关基础安装,请参阅 Helm 通用部署指南。
Google Kubernetes Engine (GKE)
在部署到 GKE 时,由于云环境特有的网络特性,可能需要覆盖某些默认配置值。
LoadBalancer DNS 解析问题
GKE 的 LoadBalancer 服务可能会导致内部 DNS 解析问题,即 pod(容器组)之间的通信会被解析到外部 IP,而不是保持在集群网络内部。这会特别影响 OTel collector 与 OpAMP server 之间的连接。
症状:
- OTel collector 日志中出现带有集群 IP 地址的 “connection refused” 错误
- 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" # Use your LoadBalancer external IP
otel:
opampServerUrl: "http://my-clickstack-clickstack-app.default.svc.cluster.local:4320"
# Adjust for GKE pod networking if needed
clickhouse:
config:
clusterCidrs:
- "10.8.0.0/16" # GKE commonly uses this range
- "10.0.0.0/8" # Fallback for other configurations
Amazon EKS
在 EKS 上进行部署时,可以考虑以下常见配置:
# values-eks.yaml
hyperdx:
frontendUrl: "http://your-alb-domain.com"
# EKS typically uses these pod CIDRs
clickhouse:
config:
clusterCidrs:
- "192.168.0.0/16"
- "10.0.0.0/8"
# Enable ingress for production
hyperdx:
ingress:
enabled: true
host: "hyperdx.yourdomain.com"
tls:
enabled: true
Azure AKS
适用于 AKS 部署:
# values-aks.yaml
hyperdx:
frontendUrl: "http://your-azure-lb.com"
# AKS pod networking
clickhouse:
config:
clusterCidrs:
- "10.244.0.0/16" # Common AKS pod CIDR
- "10.0.0.0/8"
生产环境云部署检查清单
在任何云服务商上将 ClickStack 部署到生产环境之前:
生产环境最佳实践
资源管理
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" # Use cloud-specific storage class
各云平台特定的存储类:
- GKE:
pd-ssd 或 pd-balanced
- EKS:
gp3 或 io2
- AKS:
managed-premium 或 managed-csi
浏览器兼容性注意事项
对于仅使用 HTTP 的部署(开发/测试环境),某些浏览器可能会因为安全上下文要求而在使用加密 API 时出现错误。对于生产环境部署,请务必通过入口配置使用启用正确 TLS 证书的 HTTPS。
有关 TLS 配置步骤,请参阅入口配置。
后续步骤