Cet article explique la mise en place d’un stockage persistant sur un cluster Kubernetes on-premise en utilisant Longhorn. L’auteur détaille les prérequis nécessaires, comme un cluster kubeadm sous Debian 13 avec trois nœuds équipés chacun d’un disque dédié de 100 Go, ainsi que la stack Traefik, cert-manager et MetalLB pour l’ingress. La préparation des nœuds inclut l’installation de paquets comme open-iscsi et nfs-common, et la configuration du disque dédié via mkfs.ext4 et fstab.
L’installation de Longhorn s’effectue via Helm, avec une configuration par défaut pointant vers le chemin /var/lib/longhorn-disk et une réplication des données sur trois nœuds. L’auteur vérifie ensuite le bon fonctionnement des pods et la création automatique d’une classe de stockage Longhorn. Un test de stockage persistant est réalisé avec un PersistentVolumeClaim, confirmant l’apparition du volume dans l’interface utilisateur de Longhorn avec trois réplicas.
Enfin, l’article couvre l’exposition sécurisée de l’interface utilisateur de Longhorn via HTTPS avec une authentification basique et un certificat Let’s Encrypt. La configuration inclut la création d’un secret pour l’authentification, un Middleware Traefik pour l’authentification basique, et un certificat TLS. La mise à jour de la Gateway Traefik permet d’accéder à l’interface Longhorn de manière sécurisée.
L'article explore l'utilisation de SPIFFE (Secure Production Identity Framework for Everyone) et du mTLS (mutual Transport Layer Security) avec cert-manager dans un environnement Kubernetes. SPIFFE est un standard open-source qui utilise des certificats X.509 pour sécuriser les échanges entre les workloads dans des architectures microservices, contrairement à Kerberos qui est plus adapté aux architectures monolithiques. L'article détaille l'installation et la configuration de cert-manager, un contrôleur Kubernetes pour la gestion des certificats, en désactivant l'approbation automatique des certificats pour une gestion plus sécurisée. Il explique également l'utilisation de trust-manager pour propager les certificats de confiance et du CSI Driver SPIFFE pour monter automatiquement les certificats SPIFFE dans les pods Kubernetes. Enfin, l'article présente une application simple utilisant SPIFFE pour communiquer en mTLS, soulignant l'importance de recharger régulièrement les certificats pour éviter les problèmes d'expiration.