Rechercher

5.16. Opérateur de pilote CSI OpenStack Cinder

download PDF

5.16.1. Vue d'ensemble

OpenShift Container Platform est capable de provisionner des volumes persistants (PV) à l'aide du pilote Container Storage Interface (CSI) pour OpenStack Cinder.

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 OpenStack Cinder, OpenShift Container Platform installe l'opérateur OpenStack Cinder CSI Driver et le pilote OpenStack Cinder CSI dans l'espace de noms openshift-cluster-csi-drivers.

  • Le site OpenStack Cinder CSI Driver Operator fournit une classe de stockage CSI que vous pouvez utiliser pour créer des PVC.
  • Le site OpenStack Cinder CSI driver vous permet de créer et de monter des PV OpenStack Cinder.

Pour OpenShift Container Platform, la migration automatique d'OpenStack Cinder in-tree vers le pilote CSI est disponible en tant que fonctionnalité Technology Preview (TP). Lorsque la migration est activée, les volumes provisionnés à l'aide du plugin in-tree existant sont automatiquement migrés pour utiliser le pilote OpenStack Cinder CSI. Pour plus d'informations, voir la fonctionnalité de migration automatique CSI.

5.16.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.

Important

OpenShift Container Platform utilise par défaut un plugin in-tree (non-CSI) pour provisionner le stockage Cinder.

Dans les prochaines versions d'OpenShift Container Platform, les volumes provisionnés à l'aide des plugins in-tree existants sont prévus pour une migration vers leur pilote CSI équivalent. La migration automatique CSI devrait être transparente. La migration ne modifie pas la façon dont vous utilisez tous les objets API existants, tels que les volumes persistants, les réclamations de volumes persistants et les classes de stockage. Pour plus d'informations sur la migration, voir Migration automatique CSI.

Après la migration complète, les plugins in-tree seront éventuellement supprimés dans les futures versions d'OpenShift Container Platform.

5.16.3. Faire de l'OpenStack Cinder CSI la classe de stockage par défaut

Le pilote OpenStack Cinder CSI utilise la clé de paramètre cinder.csi.openstack.org pour prendre en charge le provisionnement dynamique.

Pour activer le provisionnement OpenStack Cinder CSI dans OpenShift Container Platform, il est recommandé d'écraser la classe de stockage par défaut dans l'arborescence avec standard-csi. Vous pouvez également créer la revendication de volume persistant (PVC) et spécifier la classe de stockage comme "standard-csi".

Dans OpenShift Container Platform, la classe de stockage par défaut fait référence au pilote Cinder in-tree. Cependant, lorsque la migration automatique CSI est activée, les volumes créés à l'aide de la classe de stockage par défaut utilisent en réalité le pilote CSI.

Procédure

Suivez les étapes suivantes pour appliquer la classe de stockage standard-csi en remplaçant la classe de stockage par défaut dans l'arborescence.

  1. Indiquez la classe de stockage :

    $ oc get storageclass

    Exemple de sortie

    NAME                   PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    standard(default)      cinder.csi.openstack.org   Delete          WaitForFirstConsumer   true                   46h
    standard-csi           kubernetes.io/cinder       Delete          WaitForFirstConsumer   true                   46h

  2. Modifiez la valeur de l'annotation storageclass.kubernetes.io/is-default-class en false pour la classe de stockage par défaut, comme indiqué dans l'exemple suivant :

    $ oc patch storageclass standard -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "false"}}}'
  3. Faites d'une autre classe de stockage la classe par défaut en ajoutant ou en modifiant l'annotation à l'adresse suivante : storageclass.kubernetes.io/is-default-class=true.

    $ oc patch storageclass standard-csi -p '{"metadata": {"annotations": {"storageclass.kubernetes.io/is-default-class": "true"}}}'
  4. Vérifiez que le PVC fait désormais référence à la classe de stockage CSI par défaut :

    $ oc get storageclass

    Exemple de sortie

    NAME                   PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    standard               kubernetes.io/cinder       Delete          WaitForFirstConsumer   true                   46h
    standard-csi(default)  cinder.csi.openstack.org   Delete          WaitForFirstConsumer   true                   46h

  5. Facultatif : Vous pouvez définir un nouveau PVC sans avoir à spécifier la classe de stockage :

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: cinder-claim
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi

    Un PVC qui ne spécifie pas de classe de stockage spécifique est automatiquement provisionné en utilisant la classe de stockage par défaut.

  6. Facultatif : Une fois le nouveau fichier configuré, créez-le dans votre cluster :

    $ oc create -f cinder-claim.yaml

Ressources supplémentaires

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.