Chapitre 3. Comprendre le stockage persistant
3.1. Vue d'ensemble du stockage persistant
La gestion du stockage est un problème distinct de la gestion des ressources informatiques. OpenShift Container Platform utilise le cadre de volume persistant (PV) de Kubernetes pour permettre aux administrateurs de cluster de provisionner le stockage persistant pour un cluster. Les développeurs peuvent utiliser des réclamations de volume persistant (PVC) pour demander des ressources PV sans avoir de connaissances spécifiques sur l'infrastructure de stockage sous-jacente.
Les PVC sont spécifiques à un projet et sont créés et utilisés par les développeurs comme moyen d'utiliser un PV. Les ressources PV en elles-mêmes ne sont pas limitées à un seul projet ; elles peuvent être partagées sur l'ensemble du cluster OpenShift Container Platform et réclamées à partir de n'importe quel projet. Une fois qu'un PV est lié à un PVC, il ne peut plus être lié à d'autres PVC. Cela a pour effet de limiter un PV lié à un seul espace de noms, celui du projet de liaison.
Les PV sont définis par un objet API PersistentVolume
, qui représente un élément de stockage existant dans la grappe, provisionné de manière statique par l'administrateur de la grappe ou de manière dynamique à l'aide d'un objet StorageClass
. Il s'agit d'une ressource de la grappe tout comme un nœud est une ressource de la grappe.
Les PV sont des plugins de volume comme Volumes
, mais leur cycle de vie est indépendant de tout pod individuel qui utilise le PV. Les objets PV capturent les détails de la mise en œuvre du stockage, qu'il s'agisse de NFS, d'iSCSI ou d'un système de stockage spécifique au fournisseur de cloud.
La haute disponibilité du stockage dans l'infrastructure est laissée au fournisseur de stockage sous-jacent.
Les PVC sont définis par un objet API PersistentVolumeClaim
, qui représente une demande de stockage de la part d'un développeur. Il est similaire à un pod dans la mesure où les pods consomment des ressources de nœuds et les PVC des ressources de PV. Par exemple, les pods peuvent demander des niveaux de ressources spécifiques, tels que le CPU et la mémoire, tandis que les PVC peuvent demander une capacité de stockage et des modes d'accès spécifiques. Par exemple, ils peuvent être montés une fois en lecture-écriture ou plusieurs fois en lecture seule.