5.18. Red Hat Virtualization CSI Driver Operator
5.18.1. Vue d'ensemble
OpenShift Container Platform est capable de provisionner des volumes persistants (PV) à l'aide du pilote Container Storage Interface (CSI) pour Red Hat Virtualization (RHV).
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 RHV, OpenShift Container Platform installe l'opérateur oVirt CSI Driver et le pilote oVirt CSI par défaut dans l'espace de noms openshift-cluster-csi-drivers
.
-
Le site oVirt CSI Driver Operator fournit un objet
StorageClass
par défaut que vous pouvez utiliser pour créer des réclamations de volumes persistants (PVC). - Le site oVirt CSI driver vous permet de créer et de monter des PV oVirt.
5.18.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.
Le pilote CSI oVirt ne prend pas en charge les instantanés.
5.18.3. Classe de stockage du pilote CSI de Red Hat Virtualization (RHV)
OpenShift Container Platform crée un objet par défaut de type StorageClass
nommé ovirt-csi-sc
qui est utilisé pour créer des volumes persistants provisionnés dynamiquement.
Pour créer des classes de stockage supplémentaires pour différentes configurations, créez et enregistrez un fichier avec l'objet StorageClass
décrit par l'exemple YAML suivant :
ovirt-storageclass.yaml
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: <storage_class_name> 1 annotations: storageclass.kubernetes.io/is-default-class: "<boolean>" 2 provisioner: csi.ovirt.org allowVolumeExpansion: <boolean> 3 reclaimPolicy: Delete 4 volumeBindingMode: Immediate 5 parameters: storageDomainName: <rhv-storage-domain-name> 6 thinProvisioning: "<boolean>" 7 csi.storage.k8s.io/fstype: <file_system_type> 8
- 1
- Nom de la classe de stockage.
- 2
- Défini à
false
si la classe de stockage est la classe de stockage par défaut dans le cluster. Si la valeur esttrue
, la classe de stockage par défaut existante doit être modifiée et définie surfalse
. - 3
true
permet une expansion dynamique du volume, tandis quefalse
l'empêche.true
est recommandé.- 4
- Les volumes persistants provisionnés dynamiquement de cette classe de stockage sont créés avec cette politique de récupération. Cette politique par défaut est
Delete
. - 5
- Indique comment provisionner et lier
PersistentVolumeClaims
. S'il n'est pas défini, c'estVolumeBindingImmediate
qui est utilisé. Ce champ ne s'applique qu'aux serveurs qui activent la fonctionVolumeScheduling
. - 6
- Le nom du domaine de stockage RHV à utiliser.
- 7
- Si
true
, le disque est en mode "thin provisioned". Sifalse
, le disque est pré-alloué. Le provisionnement fin est recommandé. - 8
- Facultatif : Type de système de fichiers à créer. Valeurs possibles :
ext4
(par défaut) ouxfs
.
5.18.4. Création d'un volume persistant sur RHV
Lorsque vous créez un objet PersistentVolumeClaim
(PVC), OpenShift Container Platform provisionne un nouveau volume persistant (PV) et crée un objet PersistentVolume
.
Conditions préalables
- Vous êtes connecté à un cluster OpenShift Container Platform en cours d'exécution.
-
Vous avez fourni les informations d'identification RHV correctes dans
ovirt-credentials
secret. - Vous avez installé le pilote CSI oVirt.
- Vous avez défini au moins une classe de stockage.
Procédure
Si vous utilisez la console web pour créer dynamiquement un volume persistant sur RHV :
-
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 l'objet
StorageClass
approprié, qui estovirt-csi-sc
par défaut. - Saisissez un nom unique pour la créance de stockage.
- Sélectionnez le mode d'accès. Actuellement, RWO (ReadWriteOnce) est le seul mode d'accès pris en charge.
- Définir la taille de la demande de stockage.
Sélectionnez le mode de volume :
Filesystem
: Monté dans les pods en tant que répertoire. Ce mode est le mode par défaut.Block
: Périphérique bloc, sans système de fichiers-
Cliquez sur Create pour créer l'objet
PersistentVolumeClaim
et générer un objetPersistentVolume
.
-
Dans la console OpenShift Container Platform, cliquez sur Storage
Si vous utilisez l'interface de ligne de commande (CLI) pour créer dynamiquement un volume RHV CSI :
Créez et enregistrez un fichier avec l'objet
PersistentVolumeClaim
décrit par l'exemple YAML suivant :pvc-ovirt.yaml
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-ovirt spec: storageClassName: ovirt-csi-sc 1 accessModes: - ReadWriteOnce resources: requests: storage: <volume size> 2 volumeMode: <volume mode> 3
Créez l'objet que vous avez sauvegardé à l'étape précédente en exécutant la commande suivante :
$ oc create -f pvc-ovirt.yaml
Pour vérifier que le volume a été créé et qu'il est prêt, exécutez la commande suivante :
$ oc get pvc pvc-ovirt
Le site
pvc-ovirt
montre qu'il s'agit de Bound.
Si vous devez mettre à jour les informations d'identification de l'opérateur, reportez-vous aux instructions de la section Comment modifier les informations d'identification du RHV dans l'OCP 4.
Ressources supplémentaires