本指南介绍在托管 Kubernetes 服务上部署 ClickStack 时与云相关的配置。有关基础安装,请参见 Helm 部署主指南。
Google Kubernetes Engine (GKE)
部署到 GKE 时,由于云环境特有的网络行为,您可能需要覆盖某些值。
LoadBalancer DNS 解析问题
GKE 的 LoadBalancer 服务可能会导致内部 DNS 解析问题,即 pod (容器组) 之间的通信会被解析到外部 IP,而不是保留在集群网络内部。这会特别影响 OTel collector 与 OpAMP 服务器之间的连接。
症状:
- OTel collector 日志中出现包含集群 IP 地址的“connection refused”错误
- OpAMP 连接失败,例如:
dial tcp 34.118.227.30:4320: connect: connection refused
解决方案:
对 OpAMP 服务器 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 pod(容器组) 网络进行调整
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 通常使用以下 pod(容器组)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 pod(容器组) 网络配置
clickhouse:
config:
clusterCidrs:
- "10.244.0.0/16" # 常见 AKS pod(容器组) CIDR
- "10.0.0.0/8"生产环境 Cloud 部署检查清单
在任意云提供商上将 ClickStack 部署到生产环境之前:
- 使用外部域名/IP 正确配置
frontendUrl - 配置启用 TLS 的入口,以提供 HTTPS 访问
- 如果遇到连接问题,请使用 FQDN 覆盖
otel.opampServerUrl(尤其是在 GKE 上) - 根据你的 pod (容器组) 网络 CIDR 调整
clickhouse.config.clusterCidrs - 为生产工作负载配置持久化存储
- 设置合适的资源请求和限制
- 启用监控和告警
- 配置备份和灾难恢复
- 实施适当的 Secret 管理
生产环境最佳实践
资源管理
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 密钥、Secret 和入口
- 部署选项 (v1.x) - 外部系统配置
- Helm 主要指南 (v1.x) - 基础安装
- Cloud 部署 (v2.x) - v2.x 云指南
- 升级指南 - 从 v1.x 迁移到 v2.x