Installation de Longhorn
Longhorn est un utilitaire qui permet de gérer le stockage sur un cluster Kubernetes.
Pour l'installer nous allons nous servir de HELM :
Prérequis :
sudo apt update
sudo apt -y install open-iscsi nfs-common
sudo systemctl enable --now iscsid
Il faut que vous ajoutiez un disque dédié a longhorn sur votre VMs et ensuite suivre ces commandes pour configurer le disque :
sudo parted -s /dev/sdb mklabel gpt
sudo parted -s /dev/sdb mkpart longhorn 0% 100%
sudo mkfs.ext4 -F /dev/sdb1
sudo mkdir -p /var/lib/longhorn
echo '/dev/sdb1 /var/lib/longhorn ext4 defaults 0 2' | sudo tee -a /etc/fstab
systemctl daemon-reload
sudo mount -a
Installation :
Pour l'installation suivre ces commandes :
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.10.0/deploy/longhorn.yaml
Ont peut ensuite vérifié que les pods ont bien été crée et que il y a bien un stokage "longhorn" qui à été crée et qui est par défaut :
kubectl -n longhorn-system get pods
kubectl get sc
Ont va ensuite exposer l'interface web de Longhorn pour ce faire nous allons editer le service longhorn crée lors de l'installation :
KUBE_EDITOR="nano" kubectl edit svc longhorn-frontend -n longhorn-system
Une fois dans l'edition nous allons modifié "ClusterIP" par "LoadBalancer"
Quitter et enregistrer le service et récupéré le numéro de port : kubectl get svc longhorn-frontend -n longhorn-system
Rendez vous sur votre naviguateur saisissez l'ip du service fourni par Metallb et le numéro de port (normalement 80) et vous devriez tombé sur l'interface de longhorn.
Démontage du volume en cas de problème si vous faites de la haute disponibilité :
Allez dans les settings > Général et trouver le paramètre : Pod Deletion Policy When Node is Down et configurer le sur : delete-both-statefulset-and-deployment-pod