> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Déploiements Cloud avec Helm

> Configurations spécifiques au Cloud pour déployer ClickStack sur GKE, EKS et AKS

<Warning>
  **Version 2.x du chart**

  Cette page documente le chart Helm **v2.x** basé sur des sous-charts. Si vous utilisez encore le chart v1.x à modèles intégrés, consultez [Helm cloud deployments (v1.x)](/fr/clickstack/deployment/helm-cloud-v1). Pour les étapes de migration, consultez le [guide de mise à niveau](/fr/clickstack/deployment/helm-upgrade).
</Warning>

Ce guide présente les configurations spécifiques au Cloud pour déployer ClickStack sur des services Kubernetes managés. Pour l'installation de base, consultez le [guide principal de déploiement avec Helm](/fr/clickstack/deployment/helm).

<div id="google-kubernetes-engine-gke">
  ## Google Kubernetes Engine (GKE)
</div>

Lors d’un déploiement sur GKE, il peut être nécessaire de surcharger certaines valeurs en raison d’un comportement réseau spécifique au cloud.

<div id="loadbalancer-dns-resolution-issue">
  ### Problème de résolution DNS du LoadBalancer
</div>

Le service LoadBalancer de GKE peut provoquer des problèmes internes de résolution DNS, où la communication entre pods est résolue vers des IP externes au lieu de rester dans le réseau du cluster. Cela affecte en particulier la connexion du OTel collector au serveur OpAMP.

**Symptômes :**

* Les logs du OTel collector affichent des erreurs "connection refused" avec des adresses IP du cluster
* Échecs de connexion à OpAMP du type : `dial tcp 34.118.227.30:4320: connect: connection refused`

**Solution :**

Utilisez le nom de domaine pleinement qualifié (FQDN) pour l’URL du serveur OpAMP :

```shell theme={null}
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"
```

<div id="gke-example-values">
  ### Exemple de valeurs pour GKE
</div>

```yaml theme={null}
# values-gke.yaml
hyperdx:
  frontendUrl: "http://34.123.61.99"  # Use your LoadBalancer external IP

  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
```

<div id="amazon-eks">
  ## Amazon EKS
</div>

Pour les déploiements sur EKS, tenez compte de ces configurations courantes :

```yaml theme={null}
# 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
```

Pour les configurations d’Ingress ALB sur AWS, consultez le [guide des manifests additionnels](/fr/clickstack/deployment/helm-additional-manifests#aws-alb-ingress) et les [valeurs d’exemple pour ALB](https://github.com/ClickHouse/ClickStack-helm-charts/tree/main/examples/alb-ingress).

<div id="azure-aks">
  ## Azure AKS
</div>

Pour les déploiements sur AKS :

```yaml theme={null}
# 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
```

<div id="production-cloud-deployment-checklist">
  ## Checklist de déploiement cloud en production
</div>

Avant de déployer ClickStack en production chez un fournisseur de cloud :

* [ ] Configurez correctement `hyperdx.frontendUrl` avec votre domaine ou IP externe
* [ ] Configurez l’ingress avec TLS pour un accès en HTTPS
* [ ] Remplacez l’URL du serveur OpAMP par un FQDN si vous rencontrez des problèmes de connexion (en particulier sur GKE)
* [ ] Configurez les classes de stockage pour les volumes persistants de ClickHouse et Keeper
* [ ] Définissez des requêtes et des limites de ressources appropriées
* [ ] Activez le monitoring et les alertes
* [ ] Configurez la sauvegarde et la reprise après sinistre
* [ ] Mettez en place une gestion appropriée des secrets via `hyperdx.secrets` ou des secrets externes

<div id="production-best-practices">
  ## Bonnes pratiques en production
</div>

<div id="resource-management">
  ### Gestion des ressources
</div>

```yaml theme={null}
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
```

<div id="high-availability">
  ### Haute disponibilité
</div>

```yaml theme={null}
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
```

<div id="persistent-storage">
  ### Stockage persistant
</div>

Assurez-vous que des volumes persistants sont configurés pour la rétention des données dans les spécifications CR de l’opérateur :

```yaml theme={null}
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 stockage spécifiques au cloud :**

* **GKE**: `pd-ssd` ou `pd-balanced`
* **EKS**: `gp3` ou `io2`
* **AKS**: `managed-premium` ou `managed-csi`

<div id="browser-compatibility-notes">
  ### Notes sur la compatibilité des navigateurs
</div>

Pour les déploiements en HTTP בלבד (développement/test), certains navigateurs peuvent afficher des erreurs liées à l’API de chiffrement, car ils exigent un contexte sécurisé. Pour les déploiements en production, utilisez toujours HTTPS avec des certificats TLS appropriés via la configuration de l’ingress.

Consultez [la configuration de l’ingress](/fr/clickstack/deployment/helm-configuration#ingress-setup) pour obtenir les instructions de configuration de TLS.

<div id="next-steps">
  ## Prochaines étapes
</div>

* [Guide de configuration](/fr/clickstack/deployment/helm-configuration) - Clés API, secrets et ingress
* [Options de déploiement](/fr/clickstack/deployment/helm-deployment-options) - Configuration des systèmes externes
* [Guide de mise à niveau](/fr/clickstack/deployment/helm-upgrade) - Migration de v1.x vers v2.x
* [Manifestes supplémentaires](/fr/clickstack/deployment/helm-additional-manifests) - Objets Kubernetes personnalisés
* [Guide principal Helm](/fr/clickstack/deployment/helm) - Installation de base
* [Déploiements Cloud (v1.x)](/fr/clickstack/deployment/helm-cloud-v1) - Configurations Cloud pour v1.x
