# (Facultatif) Configurer une solution de stockage Longhorn pour votre cluster Kubernetes

Si le fournisseur de stockage partagé favori de votre plateforme n'est pas disponible, installez Longhorn, un système de stockage de blocs distribué pour Kubernetes, dans votre cluster.

Longhorn est une option de stockage persistant supportée pour Dynamic Engine.

## Procédure

1. Vérifiez et installez les prérequis à Longhorn.

   Vous pouvez vérifier que votre cluster répond [aux spécifications dans la documentation Longhorn](https://longhorn.io/docs/1.6.1/deploy/install/#installation-requirements) (en anglais) ou utiliser un [script de vérification d'environnement](https://longhorn.io/docs/1.6.1/deploy/install/#using-the-environment-check-script) (en anglais) fourni par Longhorn afin de vérifier et d'installer les éléments manquants.

   Une vérification réussie d'environnement se présente comme ceci :
   ```
   [INFO]  Required dependencies 'kubectl jq mktemp sort printf' are installed.
   [INFO]  All nodes have unique hostnames.
   [INFO]  Waiting for longhorn-environment-check pods to become ready (1/2)...
   [INFO]  All longhorn-environment-check pods are ready (2/2).
   [INFO]  MountPropagation is enabled
   [INFO]  Checking kernel release...
   [INFO]  Checking iscsid...
   [INFO]  Checking multipathd...
   [INFO]  Checking packages...
   [ERROR] cryptsetup is not found in ip-10-0-1-51.ec2.internal.
   [ERROR] cryptsetup is not found in ip-10-0-2-58.ec2.internal.
   [INFO]  Checking nfs client...
   [INFO]  Cleaning up longhorn-environment-check pods...
   [INFO]  Cleanup completed.
   ```

   Vous pouvez ignorer l'erreur cryptsetup is not found, car ce n'est pas requis par Dynamic Engine.
2. Installez Longhorn [avec Helm](https://longhorn.io/docs/1.6.1/deploy/install/install-with-helm) (en anglais).
   * Lors d'une installation avec Helm, assurez-vous de créer un fichier de valeurs personnalisées, par exemple, longhorn-values.yaml et ajoutez-y les lignes suivantes :
     ```
     persistence:
       defaultClassReplicaCount: 2 # depends on the number of available nodes in the cluster
       defaultDataLocality: best-effort
       defaultFsType: xfs
       defaultClass: 'true'
     ```

     Lors de l'étape d'installation de Longhorn, quand vous suivez la documentation Longhorn, ajoutez -f longhorn-values.yaml à la commande à exécuter. La ligne complète de commande se présente comme suit :
     ```
     helm install longhorn longhorn/longhorn --namespace longhorn-system --create-namespace --version 1.6.1 -f longhorn-values.yaml
     ```

     Cette commande ajoute une section persistence au fichier de valeurs personnalisées Helm utilisé par l'installation de Longhorn. Ainsi, une classe de stockage persistant est bien configurée.

## Résultats

Vérifiez que l'installation est correcte en suivant la documentation officielle de Longhorn.

## Que faire ensuite

Si vous souhaitez désisntaller Longhorn, suivez [cette documentation Longhorn](https://longhorn.io/docs/1.6.1/deploy/uninstall/) (en anglais).