Skip to main content

Install Longhorn

Lien vers la documentation officielle: https://longhorn.io/docs/1.1.0/deploy/install/

check is longhorn est possible

Verification du l'infrastrucure​

Un script est disponible pour vérifier que l'architecture de votre cluster est compatible avec Longhorn.

curl -sSfL https://raw.githubusercontent.com/longhorn/longhorn/v1.1.0/scripts/environment_check.sh | bash

Installation de Longhorn​

Prérequis​

Ces étapes sont à faire sur toutes les machines constituant le cluster (les Masters et les Nodes).

Installer open-iscsi​

isntaller sur toutes les vms

apt-get install open-iscsi

Installer NFSv4 client​

Pour les serveurs utilisant Ubuntu ou Debian

apt-get install nfs-common

Pour RHEL, CentOS et EKS

yum install nfs-utils

Version de Kubernetes​

Utilisez cette commande pour vérifier votre version de Kubernetes.

sudo kubectl version

La Server Version doit être de v1.16 ou supérieure.

Récupération de l'outil​

Nous allons créer un dossier contenant les fichiers de configuration de Longhorn. Puis télécharger et exécuter les fichiers yaml.

https://longhorn.io/docs/1.1.0/deploy/install/install-with-kubectl/

mkdir longhorn
cd longhorn
wget https://raw.githubusercontent.com/longhorn/longhorn/v1.1.0/deploy/longhorn.yaml

sudo kubectl apply -f longhorn.yaml

Pour vérifier que l'installation se déroule correctement, tous les pods doivent avoir le status Running.

kubectl get pods --namespace longhorn-system --watch

Ajout de disques spécifiques​

Cette étape est optionnelle, mais fortement recommandée. Elle vise à ajouter des disques durs spécique à longhorn (à faire sur chaque Node).

Ajouter le disque dur​

Ajout un disque dur sur votre Machine de manière physique ou logique, dans cet exemple 20Go seront ajouté.

Formatter le disque​

Lien complémentaire ici: https://www.tecmint.com/add-new-disk-to-an-existing-linux/

Lister tous les disques de votre systemes et sélectionner le nouveau disque, généralement /dev/sdb.

fdisk -l
fdisk /dev/sdb

Dans le menu fdisk sélectionner n et p pour créer et déclarer la nouvelle partition comme partition principale.

Puis w pour sauvegarder la configuration.

Formatage du disque en ext4.

mfs.ext4 /dev/sdb

Monter le volume​

Maintenant que le volume est créer, nous allons le monter automatiquement à chaque démarrage de la machine.

Nous créons un dossier /mnt/longhorn qui sera l'emplacement de notre nouveau disque.

sudo mkdir /mnt/longhorn
mount /dev/sdb1 /mnt/longhorn

Rajouter la ligne dans /etc/fstab pour monter la partition lors du boot.

/dev/sdb1 /mnt/longhorn ext4 defaults 0 0

Relancer le service Longhorn​

Modifier dans le fichier longhorn.yaml.

Allez dans le ConfigMap "longhorn-default-setting" et modifier les lignes ci-dessous.

create-default-disk-labeled-nodes: true
default-data-path: /mnt/longhorn/

Puis appliquer les modifications du fichier.

sudo kubectl apply -f longhorn.yaml

Il faut ensuite ajouter les disques à la configuration de Longhorn. Accéder au portail via le service longhorn-frontend.

Dans le dashboard Longhorn editer la node et ajouter le disk en renseignant:

  • nom
  • espace
  • path (/mnt/longhorn)
  • enable le disk

longhorn edit node

Les disques doivent avoir le status Schedulable.

Féliciations 🎉 !! L'installation de Longhorn est finie (à vous les joies du stockage distribué).

Utiliser Longhorn​

Pour utiliser le service Longhorn, lors de la création d'un pvc il suffit de spécifier le service comme dans l'exemple ci-dessous.

storageClass: longhorn