5.17. OpenStack Manila CSI Driver Operator
5.17.1. Vue d'ensemble
OpenShift Container Platform est capable de provisionner des volumes persistants (PV) à l'aide du pilote Container Storage Interface (CSI) pour le service de système de fichiers partagés OpenStack Manila.
Il est recommandé de se familiariser avec le stockage persistant et la configuration des volumes CSI lorsqu'on travaille avec un opérateur et un pilote d'interface de stockage de conteneurs (CSI).
Pour créer des PV provisionnées CSI qui se montent sur des ressources de stockage Manila, OpenShift Container Platform installe l'opérateur de pilote CSI Manila et le pilote CSI Manila par défaut sur tout cluster OpenStack dont le service Manila est activé.
-
Le site Manila CSI Driver Operator crée la classe de stockage nécessaire pour créer des PVC pour tous les types de partage Manila disponibles. L'opérateur est installé dans l'espace de noms
openshift-cluster-csi-drivers
. -
Le site Manila CSI driver vous permet de créer et de monter des PV de Manille. Le pilote est installé dans l'espace de noms
openshift-manila-csi-driver
.
5.17.2. À propos du CSI
Les fournisseurs de stockage ont traditionnellement fourni des pilotes de stockage dans le cadre de Kubernetes. Avec la mise en œuvre de l'interface de stockage des conteneurs (CSI), les fournisseurs tiers peuvent à la place fournir des plugins de stockage à l'aide d'une interface standard sans jamais avoir à modifier le code de base de Kubernetes.
Les opérateurs CSI offrent aux utilisateurs d'OpenShift Container Platform des options de stockage, telles que les instantanés de volume, qui ne sont pas possibles avec les plugins de volume dans l'arborescence.
5.17.3. Manille Limites de l'activité de conducteur de CSI
Les limitations suivantes s'appliquent à l'opérateur de conduite de l'interface de stockage de conteneurs (CSI) de Manille :
- Seul NFS est pris en charge
- OpenStack Manila prend en charge de nombreux protocoles de stockage en réseau, tels que NFS, CIFS et CEPHFS, et ceux-ci peuvent être activés de manière sélective dans le nuage OpenStack. Le Manila CSI Driver Operator dans OpenShift Container Platform ne prend en charge que l'utilisation du protocole NFS. Si NFS n'est pas disponible et activé dans le nuage OpenStack sous-jacent, vous ne pouvez pas utiliser le Manila CSI Driver Operator pour provisionner le stockage pour OpenShift Container Platform.
- Les instantanés ne sont pas pris en charge si le back-end est CephFS-NFS
-
Pour prendre des instantanés de volumes persistants (PV) et inverser des volumes en instantanés, vous devez vous assurer que le type de partage Manila que vous utilisez prend en charge ces fonctionnalités. Un administrateur Red Hat OpenStack doit activer la prise en charge des instantanés (
share type extra-spec snapshot_support
) et la création de partages à partir d'instantanés (share type extra-spec create_share_from_snapshot_support
) dans le type de partage associé à la classe de stockage que vous avez l'intention d'utiliser. - Les FSGroups ne sont pas pris en charge
-
Étant donné que la CSI de Manille fournit des systèmes de fichiers partagés pour l'accès par plusieurs lecteurs et plusieurs écrivains, elle ne prend pas en charge l'utilisation des FSGroups. Ceci est vrai même pour les volumes persistants créés avec le mode d'accès ReadWriteOnce. Il est donc important de ne pas spécifier l'attribut
fsType
dans une classe de stockage que vous créez manuellement pour l'utiliser avec le pilote Manila CSI.
Dans Red Hat OpenStack Platform 16.x et 17.x, le service Shared File Systems (Manila) avec CephFS via NFS prend entièrement en charge le service des partages à OpenShift Container Platform via le CSI Manila. Cependant, cette solution n'est pas destinée à une utilisation massive. Veillez à examiner les recommandations importantes dans Recommandations de charge de travail CephFS NFS Manila-CSI pour Red Hat OpenStack Platform.
5.17.4. Approvisionnement dynamique des volumes Manila CSI
OpenShift Container Platform installe une classe de stockage pour chaque type de partage Manila disponible.
Les fichiers YAML créés sont complètement découplés de Manila et de son plugin CSI (Container Storage Interface). En tant que développeur d'applications, vous pouvez provisionner dynamiquement le stockage ReadWriteMany (RWX) et déployer des pods avec des applications qui consomment le stockage en toute sécurité à l'aide de manifestes YAML.
Vous pouvez utiliser les mêmes définitions de pod et de revendication de volume persistant (PVC) sur site que celles que vous utilisez avec OpenShift Container Platform sur AWS, GCP, Azure et d'autres plateformes, à l'exception de la référence à la classe de stockage dans la définition du PVC.
Le service Manila est facultatif. Si le service n'est pas activé dans Red Hat OpenStack Platform (RHOSP), le pilote CSI Manila n'est pas installé et les classes de stockage pour Manila ne sont pas créées.
Conditions préalables
- RHOSP est déployé avec l'infrastructure de partage Manila appropriée afin qu'il puisse être utilisé pour provisionner et monter dynamiquement des volumes dans OpenShift Container Platform.
Procédure (UI)
Pour créer dynamiquement un volume Manila CSI à l'aide de la console Web :
-
Dans la console OpenShift Container Platform, cliquez sur Storage
Persistent Volume Claims. - Dans l'aperçu des réclamations relatives aux volumes persistants, cliquez sur Create Persistent Volume Claim.
Définissez les options requises sur la page résultante.
- Sélectionnez la classe de stockage appropriée.
- Saisissez un nom unique pour la créance de stockage.
Sélectionnez le mode d'accès pour spécifier l'accès en lecture et en écriture pour le PVC que vous créez.
ImportantUtilisez RWX si vous souhaitez que le volume persistant (PV) qui remplit ce PVC soit monté sur plusieurs pods sur plusieurs nœuds du cluster.
- Définir la taille de la demande de stockage.
- Cliquez sur Create pour créer la demande de volume persistant et générer un volume persistant.
Procédure (CLI)
Pour créer dynamiquement un volume Manila CSI à l'aide de l'interface de ligne de commande (CLI) :
Créer et sauvegarder un fichier avec l'objet
PersistentVolumeClaim
décrit par le YAML suivant :pvc-manila.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-manila spec: accessModes: 1 - ReadWriteMany resources: requests: storage: 10Gi storageClassName: csi-manila-gold 2
- 1
- Utilisez RWX si vous souhaitez que le volume persistant (PV) qui remplit ce PVC soit monté sur plusieurs pods sur plusieurs nœuds du cluster.
- 2
- Le nom de la classe de stockage qui approvisionne le back-end de stockage. Les classes de stockage de Manille sont approvisionnées par l'opérateur et portent le préfixe
csi-manila-
.
Créez l'objet que vous avez sauvegardé à l'étape précédente en exécutant la commande suivante :
$ oc create -f pvc-manila.yaml
Un nouveau PVC est créé.
Pour vérifier que le volume a été créé et qu'il est prêt, exécutez la commande suivante :
$ oc get pvc pvc-manila
Le site
pvc-manila
indique qu'il s'agit deBound
.
Vous pouvez maintenant utiliser le nouveau PVC pour configurer un pod.
Ressources supplémentaires