# Configuration de GKE avec un stockage Filestore pour Dynamic Engine

Une fois que votre cluster GKE est prêt, configurez le stockage partagé sauvegardé dans Filestore et déployez-le avec un environnement Dynamic Engine.

Dynamic Engine nécessite ce stockage partagé uniquement lorsque configuration.persistence.enabled=true est configuré pour votre moteur. Sinon, le stockage est facultatif et ne devient nécessaire que lorsque vos tâches Talend Management Console ont besoin d'un stockage persistant.

## Avant de commencer

* Cluster GKE configuré pour un déploiement Dynamic Engine. Pour les conditions préalables requises spécifiques à la plateforme, la configuration du cluster et les étapes d'accès au cluster, consultez [Configurer Google Kubernetes Engine (GKE) pour le déploiement de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/deploying-dynamic-engine-on-gke "Dynamic Engine peut être déployé sur Google Kubernetes Engine (GKE) avec des systèmes de stockage natifs Google Cloud.").
* Les définitions des ressources personnalisées dynamic-engine-crd doivent avoir été installées à l'aide du chart Helm oci://ghcr.io/talend/helm/dynamic-engine-crd. Si ce n'est pas le cas, exécutez les commandes suivantes pour l'installation :
  1. Trouvez la version du chart à utiliser :

     * Exécutez la commande Helm suivante :
       ```
       helm show chart oci://ghcr.io/talend/helm/dynamic-engine-crd --version <engine_version>
       ```
     * Visualisez la version directement depuis Talend Management Console ou consultez le [Dynamic Engine journal de modification](https://help.qlik.com/talend/fr-FR/dynamic-engine-changelog/Cloud) de la version du chart dans votre version de Dynamic Engine.
     * Utilisez un appel d'API pour [l'endpoint de version de Dynamic Engine](https://talend.qlik.dev/apis/dynamic-engine/2021-03/#operation_return-all-supported-dynamic-engine-versions) (en anglais).

  2. Exécutez la commande suivante pour installer le chart Helm dans une version donnée :

     ```
     helm install dynamic-engine-crd oci://ghcr.io/talend/helm/dynamic-engine-crd --version <helm_chart_version>
     ```

     Remplacez &lt;helm\_chart\_version&gt; par la version du chart supportée par votre version du Dynamic Engine.

     Si vous ne spécifiez pas la version, vous installez la dernière version disponible du chart dynamic-engine-crd.

## Pourquoi et quand exécuter cette tâche

Note InformationsImportant : Pour les déploiements GKE Autopilot, il est recommandé de commencer par appliquer la configuration en mode géré définie dans [Modes de fonctionnement Kubernetes gérés](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/prerequisites-to-use-dynamic-engines) avant d'exécuter ces étapes.

Cette procédure explique comment configurer le stockage partagé sauvegardé dans Filestore et déployer un environnement Dynamic Engine personnalisé dans un cluster GKE.

## Procédure

1. Configurez une classe de stockage GKE ReadWriteMany pour le Dynamic Engine.

   Créez une classe de stockage ReadWriteMany dédiée au Dynamic Engine, et, dans les étapes suivantes, utilisez son nom comme étant defaultStorageClassName. Par exemple :
   ```
   apiVersion: storage.k8s.io/v1
   kind: StorageClass
   metadata:
     name: dyn-engine
   provisioner: filestore.csi.storage.gke.io
   volumeBindingMode: WaitForFirstConsumer
   allowVolumeExpansion: true
   reclaimPolicy: Delete
   parameters:
     tier: <filestore-tier>
     network: <name-of-configured-network>
   ```

   Cet exemple crée une classe de stockage nommée dyn-engine, pour laquelle le provisionneur filestore.csi.storage.gke.io est configuré pour créer des volumes de persistance d'un type donné sur un réseau donné, respectivement spécifiés dans les champs tier et network.
   * Pour les valeurs Filestore supportées dans le champ tier, consultez [GKE tier](https://cloud.google.com/filestore/docs/reference/rest/v1/Tier) (en anglais).
   * Utilisez le nom de réseau de votre GKE configuré. Si aucun réseau personnalisé n'est configuré, utilisez default (par défaut). Si vous supprimez le champ network (réseau), default est utilisé.

   Note InformationsConseil : Une classe de stockage dédiée à Dynamic Engine est recommandée, mais il est toujours possible d'utiliser les classes de stockage par défaut fournies par GKE, selon la politique de votre entreprise. Pour la liste des classes de stockage par défaut, consultez [Automatically installed GKE storage class](https://docs.cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/filestore-csi-driver#storage-class) (en anglais).
2. Déployez l'instance de Dynamic Engine et son environnement.

   Note InformationsRemarque : Les étapes ci-dessous montrent le modèle de déploiement d'environnement Dynamic Engine unifié. Pour des instructions détaillées sur la configuration de classes de stockage personnalisées sur toutes les plateformes (AWS, GKE, AKS et on-premises Kubernetes), consultez [Provisionner une classe de stockage dédiée aux services d'environnements du Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/deploy-dynamic-engine-with-specific-storageclass "Configurez une classe de stockage spécifique pour les services d'environnement du Dynamic Engine au lieu d'utiliser la classe de stockage Kubernetes par défaut.").
   1. Exécutez cette commande pour déployer l'instance du moteur :
      ```
      helm upgrade --install dynamic-engine \
        -f $DYNAMIC_ENGINE_ID-helm-values/$DYNAMIC_ENGINE_ID-values.yaml \
        oci://ghcr.io/talend/helm/dynamic-engine
      ```

      C'est un déploiement par défaut. Cette commande met à niveau ou installe l'instance de Dynamic Engine, en fonction du déploiement existant. Remplacez $DYNAMIC\_ENGINE\_ID par l'ID de Dynamic Engine, par exemple, c-m-sjufu4qy.
   2. Créez un fichier de valeurs Helm personnalisées pour l'environnement.
      ## Exemple
      ```
      cat <<EOF > $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-gke-values.yaml
      ---
      configuration:
        persistence:
          defaultStorageClassName: dyn-engine
      EOF
      ```

      Cet exemple configure dyn-engine, la classe de stockage précédemment créée, comme nom pour defaultStorageClassName. Modifiez le nom en fonction de la classe de stockage spécifique au Dynamic Engine que vous utilisez.
   3. Déployez les charts Helm pour l'environnement de Dynamic Engine.
      ```
      helm upgrade --install dynamic-engine-environment-$DYNAMIC_ENGINE_ENVIRONMENT_ID \
        -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-values.yaml  \
        -f $DYNAMIC_ENGINE_ENVIRONMENT_ID-custom-gke-values.yaml \
        oci://ghcr.io/talend/helm/dynamic-engine-environment \
        --version $DYNAMIC_ENGINE_VERSION
      ```

      Cette commande met à niveau ou installe l'environnement de Dynamic Engine, en fonction du déploiement existant.

## Résultats

Une fois terminée, les services d'environnement de Dynamic Engine sont installés dans votre cluster GKE et sont prêts à exécuter des tâches ou des plans.

Dans Talend Management Console, le statut de cet environnement devient Ready (Prêt), confirmant qu'il est prêt à exécuter des tâches ou des plans.

Si le déploiement échoue ou si les services de Dynamic Engine sont dissociés, le statut devient Not ready (Pas prêt).

## Que faire ensuite

Après un déploiement réussi, vous pouvez ajouter des tâches à l'environnement de Dynamic Engine comme pour les moteurs standards. Pour plus de détails, consultez [Ajouter une tâche de Job dans un environnement de Dynamic Engine](https://help.qlik.com/talend/fr-FR/dynamic-engine-configuration-guide/Cloud/adding-task-in-dynamic-engine-environment "Les tâches des Jobs sont des processus d'intégration exécutables contenant un artefact de Job publié à partir de Studio Talend.").