Ce premier article sur les stockage va nous permettre de mettre en place un stockage persistant pour nos pods sur une structure assez classique de stockage, un serveur NFS. Nous verrons dans un prochain article un autre type de stockage pour nos clusters Kubernetes.
Mise en place du serveur NFS
La première chose qu'il nous faut c'est un serveur NFS, j'ai donc une machine Debian 10 avec un disque de 100Go que je vais exporter pour mon cluster. Mon disque est monté dans le répertoire /data/nfs.
On installe ensuite le service nfs :
On met ensuite en place l'export :
Notre serveur NFS est prêt.
Sur chacun des noeuds worker il va falloir ajouter le paquet client nfs :
Notre serveur NFS est prêt.
Sur chacun des noeuds worker il va falloir ajouter le paquet client nfs :
Provisionning dynamique de stockage NFS
J'ai utilisé ce projet comme base de travail : https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
Dans le fichier deployment.yaml on dois adapter les paramètres suivant :
Par exemple pour moi :
Attention si PROVISIONER_NAME est modifié il faut aussi le modifier dans class.yaml.
J'ai aussi changé le namespace dans les fichiers rbac.yaml et deployment.yaml
On déploie
On vérifie :
Test
On va utiliser le pod et le pvc suivant :
Une fois le pvc et le pod déployé on va pouvoir se connecter dans le conteneur et aller écrire des données dans le répertoire /data
Si on regarde maintenant côté serveur NFS :
It's works !! Notre serveur nfs est fonctionnel pour stocker les fichiers de nos pods.