Pular para o conteúdo principal
Versão 2.x do chartEsta página documenta o chart do Helm v2.x baseado em subcharts. Se você ainda estiver usando o chart v1.x com inline templates, consulte Implantações no Cloud com Helm (v1.x). Para ver as etapas de migração, consulte o guia de atualização.
Este guia aborda configurações específicas do Cloud para implantar o ClickStack em serviços gerenciados de Kubernetes. Para a instalação básica, consulte o guia principal de implantação com Helm.

Google Kubernetes Engine (GKE)

Ao implantar no GKE, talvez seja necessário sobrescrever determinados valores devido ao comportamento de rede específico da nuvem.

Problema de resolução de DNS do LoadBalancer

O serviço LoadBalancer do GKE pode causar problemas internos de resolução de DNS, em que a comunicação entre pods do Kubernetes passa a apontar para IPs externos em vez de permanecer dentro da rede do cluster. Isso afeta especificamente a conexão do OTel collector com o servidor OpAMP. Sintomas:
  • Logs do OTel collector mostrando erros de “connection refused” com endereços IP do cluster
  • Falhas de conexão com o OpAMP, como: dial tcp 34.118.227.30:4320: connect: connection refused
Solução: Use o nome de domínio totalmente qualificado (FQDN) na URL do servidor OpAMP:
helm install my-clickstack clickstack/clickstack \
  --set hyperdx.frontendUrl="http://your-external-ip-or-domain.com" \
  --set hyperdx.config.OPAMP_SERVER_URL="http://my-clickstack-clickstack-app.default.svc.cluster.local:4320"

valores de exemplo do GKE

# values-gke.yaml
hyperdx:
  frontendUrl: "http://34.123.61.99"  # Use o IP externo do seu LoadBalancer

  config:
    OPAMP_SERVER_URL: "http://my-clickstack-clickstack-app.default.svc.cluster.local:4320"

clickhouse:
  keeper:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "pd-ssd"
        resources:
          requests:
            storage: 5Gi
  cluster:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "pd-ssd"
        resources:
          requests:
            storage: 10Gi

Amazon EKS

No caso de implantações no EKS, considere estas configurações comuns:
# values-eks.yaml
hyperdx:
  frontendUrl: "https://hyperdx.yourdomain.com"

  ingress:
    enabled: true
    host: "hyperdx.yourdomain.com"
    tls:
      enabled: true

clickhouse:
  keeper:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "gp3"
        resources:
          requests:
            storage: 5Gi
  cluster:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "gp3"
        resources:
          requests:
            storage: 10Gi
Para configurações de Entrada do AWS ALB, consulte o guia de Manifestos adicionais e os valores de exemplo do ALB.

Azure AKS

Para implantações no AKS:
# values-aks.yaml
hyperdx:
  frontendUrl: "https://hyperdx.yourdomain.com"

clickhouse:
  keeper:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "managed-csi"
        resources:
          requests:
            storage: 5Gi
  cluster:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "managed-csi"
        resources:
          requests:
            storage: 10Gi

Lista de verificação para implantação em nuvem para produção

Antes de implantar o ClickStack em produção em qualquer provedor de nuvem:
  • Configure corretamente hyperdx.frontendUrl com seu domínio/IP externo
  • Configure a Entrada com TLS para acesso via HTTPS
  • Substitua a URL do servidor OpAMP por um FQDN caso esteja enfrentando problemas de conexão (especialmente no GKE)
  • Configure as classes de armazenamento para os volume claims do ClickHouse e do Keeper
  • Defina requests e limits de recursos adequados
  • Habilite monitoramento e alertas
  • Configure backup e recuperação de desastres
  • Implemente um gerenciamento adequado de secrets via hyperdx.secrets ou secrets externos

Boas práticas para produção

Gerenciamento de recursos

hyperdx:
  deployment:
    resources:
      requests:
        cpu: 500m
        memory: 1Gi
      limits:
        cpu: "2"
        memory: 4Gi

otel-collector:
  resources:
    requests:
      cpu: 100m
      memory: 128Mi
    limits:
      cpu: 200m
      memory: 256Mi

Alta disponibilidade

hyperdx:
  deployment:
    replicas: 3
    topologySpreadConstraints:
      - maxSkew: 1
        topologyKey: kubernetes.io/hostname
        whenUnsatisfiable: ScheduleAnyway
        labelSelector:
          matchLabels:
            app.kubernetes.io/name: clickstack

  podDisruptionBudget:
    enabled: true
    minAvailable: 1

Armazenamento persistente

Garanta que os volumes persistentes estejam configurados para retenção de dados por meio das especificações dos CRs do operador:
clickhouse:
  keeper:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "fast-ssd"
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 5Gi
  cluster:
    spec:
      dataVolumeClaimSpec:
        storageClassName: "fast-ssd"
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 100Gi

mongodb:
  spec:
    statefulSet:
      spec:
        volumeClaimTemplates:
          - metadata:
              name: data-volume
            spec:
              storageClassName: "fast-ssd"
              accessModes: ["ReadWriteOnce"]
              resources:
                requests:
                  storage: 10Gi
Classes de armazenamento específicas do Cloud:
  • GKE: pd-ssd ou pd-balanced
  • EKS: gp3 ou io2
  • AKS: managed-premium ou managed-csi

Notas sobre compatibilidade com navegadores

Para implantações apenas com HTTP (desenvolvimento/testes), alguns navegadores podem exibir erros da API de criptografia devido aos requisitos de contexto seguro. Para implantações em produção, sempre use HTTPS com certificados TLS adequados por meio da configuração de Entrada. Consulte Configuração de Entrada para instruções de configuração de TLS.

Próximas etapas

Última modificação em 10 de junho de 2026