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