Rechercher

5.13. GCP PD CSI Chauffeur

download PDF

5.13.1. Vue d'ensemble

OpenShift Container Platform peut provisionner des volumes persistants (PV) à l'aide du pilote Container Storage Interface (CSI) pour le stockage sur disque persistant (PD) de Google Cloud Platform (GCP).

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 volumes persistants (PV) provisionnés CSI qui se montent sur des ressources de stockage GCP PD, OpenShift Container Platform installe l'opérateur de pilote GCP PD CSI et le pilote GCP PD CSI par défaut dans l'espace de noms openshift-cluster-csi-drivers.

  • GCP PD CSI Driver Operator: Par défaut, l'Opérateur fournit une classe de stockage que vous pouvez utiliser pour créer des PVC. Vous avez également la possibilité de créer la classe de stockage GCP PD comme décrit dans Stockage persistant à l'aide de GCE Persistent Disk.
  • GCP PD driver: Le pilote vous permet de créer et de monter des PV GCP PD.
Important

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

Dans les prochaines versions d'OpenShift Container Platform, les volumes provisionnés à l'aide des plug-ins in-tree existants sont prévus pour une migration vers leur pilote CSI équivalent. La migration automatique vers le 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.13.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.13.3. Paramètres de la classe de stockage du pilote GCP PD CSI

Le pilote CSI (Container Storage Interface) du disque persistant (PD) de Google Cloud Platform (GCP) utilise le sidecar CSI external-provisioner comme contrôleur. Il s'agit d'un conteneur d'aide distinct qui est déployé avec le pilote CSI. Le sidecar gère les volumes persistants (PV) en déclenchant l'opération CreateVolume.

Le pilote GCP PD CSI utilise la clé de paramètre csi.storage.k8s.io/fstype pour prendre en charge le provisionnement dynamique. Le tableau suivant décrit tous les paramètres de la classe de stockage GCP PD CSI qui sont pris en charge par OpenShift Container Platform.

Tableau 5.3. CreateVolume Paramètres
ParamètresValeursDéfautDescription

type

pd-ssd ou pd-standard

pd-standard

Permet de choisir entre des PV standard et des PV à semi-conducteurs.

replication-type

none ou regional-pd

none

Permet de choisir entre des PV zonales ou régionales.

disk-encryption-kms-key

Identifiant de ressource pleinement qualifié pour la clé à utiliser pour chiffrer les nouveaux disques.

Chaîne vide

Utilise des clés de chiffrement gérées par le client (CMEK) pour chiffrer les nouveaux disques.

5.13.4. Création d'un volume persistant crypté personnalisé

Lorsque vous créez un objet PersistentVolumeClaim, OpenShift Container Platform provisionne un nouveau volume persistant (PV) et crée un objet PersistentVolume. Vous pouvez ajouter une clé de chiffrement personnalisée dans Google Cloud Platform (GCP) pour protéger un PV dans votre cluster en chiffrant le PV nouvellement créé.

Pour le chiffrement, le PV nouvellement attaché que vous créez utilise des clés de chiffrement gérées par le client (CMEK) sur un cluster à l'aide d'une clé Google Cloud Key Management Service (KMS) nouvelle ou existante.

Conditions préalables

  • Vous êtes connecté à un cluster OpenShift Container Platform en cours d'exécution.
  • Vous avez créé un porte-clés et une version de clé de Cloud KMS.

Pour plus d'informations sur les ressources CMEK et Cloud KMS, voir Utilisation de clés de chiffrement gérées par le client (CMEK).

Procédure

Pour créer un PV crypté personnalisé, procédez comme suit :

  1. Créez une classe de stockage avec la clé Cloud KMS. L'exemple suivant permet le provisionnement dynamique des volumes cryptés :

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: csi-gce-pd-cmek
    provisioner: pd.csi.storage.gke.io
    volumeBindingMode: "WaitForFirstConsumer"
    allowVolumeExpansion: true
    parameters:
      type: pd-standard
      disk-encryption-kms-key: projects/<key-project-id>/locations/<location>/keyRings/<key-ring>/cryptoKeys/<key> 1
    1
    Ce champ doit être l'identifiant de la ressource pour la clé qui sera utilisée pour crypter les nouveaux disques. Les valeurs sont sensibles à la casse. Pour plus d'informations sur la fourniture de valeurs d'ID de clé, voir Récupérer l'ID d'une ressource et Obtenir l'ID d'une ressource Cloud KMS.
    Note

    Vous ne pouvez pas ajouter le paramètre disk-encryption-kms-key à une classe de stockage existante. Cependant, vous pouvez supprimer la classe de stockage et la recréer avec le même nom et un ensemble de paramètres différent. Dans ce cas, le provisionneur de la classe existante doit être pd.csi.storage.gke.io.

  2. Déployez la classe de stockage sur votre cluster OpenShift Container Platform à l'aide de la commande oc:

    $ oc describe storageclass csi-gce-pd-cmek

    Exemple de sortie

    Name:                  csi-gce-pd-cmek
    IsDefaultClass:        No
    Annotations:           None
    Provisioner:           pd.csi.storage.gke.io
    Parameters:            disk-encryption-kms-key=projects/key-project-id/locations/location/keyRings/ring-name/cryptoKeys/key-name,type=pd-standard
    AllowVolumeExpansion:  true
    MountOptions:          none
    ReclaimPolicy:         Delete
    VolumeBindingMode:     WaitForFirstConsumer
    Events:                none

  3. Créez un fichier nommé pvc.yaml qui correspond au nom de l'objet de classe de stockage que vous avez créé à l'étape précédente :

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: podpvc
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: csi-gce-pd-cmek
      resources:
        requests:
          storage: 6Gi
    Note

    Si vous avez marqué la nouvelle classe de stockage comme étant par défaut, vous pouvez omettre le champ storageClassName.

  4. Appliquez le PVC à votre cluster :

    $ oc apply -f pvc.yaml
  5. Obtenez le statut de votre PVC et vérifiez qu'il est créé et lié à un PV nouvellement provisionné :

    $ oc get pvc

    Exemple de sortie

    NAME      STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS     AGE
    podpvc    Bound     pvc-e36abf50-84f3-11e8-8538-42010a800002   10Gi       RWO            csi-gce-pd-cmek  9s

    Note

    Si le champ volumeBindingMode de votre classe de stockage est défini sur WaitForFirstConsumer, vous devez créer un module pour utiliser le PVC avant de pouvoir le vérifier.

Votre PV protégé par CMEK est maintenant prêt à être utilisé avec votre cluster OpenShift Container Platform.

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.