5.6. Google Compute Platform Filestore CSI Driver Operator


5.6.1. Aperçu général

Le logiciel OpenShift Dedicated est capable de fournir des volumes persistants (PV) à l’aide du pilote CSI (Container Storage Interface) pour Google Compute Platform (GCP) Filestore Storage.

La familiarité avec le stockage persistant et la configuration des volumes CSI est recommandée lorsque vous travaillez avec un opérateur CSI et un conducteur.

Afin de créer des PV fournis par CSI qui sont montés sur les actifs GCP Filestore Storage, vous installez l’opérateur de pilotes GCP Filestore CSI et le pilote GCP Filestore CSI dans l’espace de noms openshift-cluster-csi-drivers.

  • Le GCP Filestore CSI Driver Operator ne fournit pas une classe de stockage par défaut, mais vous pouvez en créer une si nécessaire. Le GCP Filestore CSI Driver Operator prend en charge le provisionnement dynamique de volume en permettant la création de volumes de stockage à la demande, éliminant ainsi la nécessité pour les administrateurs de cluster de pré-fournir le stockage.
  • Le pilote GCP Filestore CSI vous permet de créer et de monter des PV GCP Filestore.

La banque de fichiers GCP dédiée à OpenShift prend en charge l’identité de charge de travail. Cela permet aux utilisateurs d’accéder aux ressources Google Cloud en utilisant des identités fédérées au lieu d’une clé de compte de service. GCP Workload Identity doit être activé globalement pendant l’installation, puis configuré pour l’opérateur de pilotes CSI Filestore GCP. Cliquez ici pour plus d’informations sur Instaling the GCP Filestore CSI Driver Operator.

5.6.2. À propos de CSI

Les fournisseurs de stockage ont traditionnellement fourni des pilotes de stockage dans le cadre de Kubernetes. Avec l’implémentation de l’interface de stockage de conteneurs (CSI), les fournisseurs tiers peuvent fournir des plugins de stockage à l’aide d’une interface standard sans jamais avoir à modifier le code Kubernetes de base.

Les opérateurs CSI offrent aux utilisateurs d’OpenShift des options de stockage, telles que des instantanés de volume, qui ne sont pas possibles avec les plugins de volume dans l’arbre.

Lorsque vous envisagez d’utiliser GCP Workload Identity avec Google Compute Platform Filestore, vous devez obtenir certains paramètres que vous utiliserez lors de l’installation de l’opérateur de pilotes GCP Filestore Container Storage Interface (CSI).

Conditions préalables

  • Accès au cluster en tant qu’utilisateur avec le rôle cluster-admin.

Procédure

Afin de préparer l’installation de GCP Filestore CSI Driver Operator avec Workload Identity:

  1. Obtenir le numéro de projet:

    1. Demandez l’ID du projet en exécutant la commande suivante:

      $ export PROJECT_ID=$(oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.gcp.projectID}')
      Copy to Clipboard Toggle word wrap
    2. Obtenir le numéro de projet, à l’aide de l’ID du projet, en exécutant la commande suivante:

      $ gcloud projects describe $PROJECT_ID --format="value(projectNumber)"
      Copy to Clipboard Toggle word wrap
  2. Cherchez l’identifiant du pool d’identités et l’ID du fournisseur:

    Lors de l’installation du cluster, les noms de ces ressources sont fournis à l’utilitaire Cloud Credential Operator (ccoctl) avec le paramètre --name. Consultez « Créer des ressources GCP avec l’utilitaire Cloud Credential Operator ».

  3. Créer des ressources d’identité de charge de travail pour l’opérateur GCP Filestore:

    1. Créez un fichier CredentialsRequest à l’aide de l’exemple suivant:

      Exemple d’identification Demandez le fichier YAML

      apiVersion: cloudcredential.openshift.io/v1
      kind: CredentialsRequest
      metadata:
        name: openshift-gcp-filestore-csi-driver-operator
        namespace: openshift-cloud-credential-operator
        annotations:
          include.release.openshift.io/self-managed-high-availability: "true"
          include.release.openshift.io/single-node-developer: "true"
      spec:
        serviceAccountNames:
        - gcp-filestore-csi-driver-operator
        - gcp-filestore-csi-driver-controller-sa
        secretRef:
          name: gcp-filestore-cloud-credentials
          namespace: openshift-cluster-csi-drivers
        providerSpec:
          apiVersion: cloudcredential.openshift.io/v1
      	kind: GCPProviderSpec
          predefinedRoles:
          - roles/file.editor
          - roles/resourcemanager.tagUser
          skipServiceCheck: true
      Copy to Clipboard Toggle word wrap

    2. Le fichier CredentialsRequest permet de créer un compte de service GCP en exécutant la commande suivante:

      $ ./ccoctl gcp create-service-accounts --name=<filestore-service-account> \
      1
      
        --workload-identity-pool=<workload-identity-pool> \
      2
      
        --workload-identity-provider=<workload-identity-provider> \
      3
      
        --project=<project-id> \
      4
      
        --credentials-requests-dir=/tmp/credreq 
      5
      Copy to Clipboard Toggle word wrap
      1
      &lt;Filestore-service-account&gt; est un nom choisi par l’utilisateur.
      2
      &lt;workload-identity-pool&gt; vient de l’étape 2 ci-dessus.
      3
      &lt;workload-identity-provider&gt; vient de l’étape 2 ci-dessus.
      4
      &lt;project-id&gt; vient de l’étape 1.a ci-dessus.
      5
      Le nom du répertoire où réside le fichier CredentialsRequest.

      Exemple de sortie

      2025/02/10 17:47:39 Credentials loaded from gcloud CLI defaults
      2025/02/10 17:47:42 IAM service account filestore-service-account-openshift-gcp-filestore-csi-driver-operator created
      2025/02/10 17:47:44 Unable to add predefined roles to IAM service account, retrying...
      2025/02/10 17:47:59 Updated policy bindings for IAM service account filestore-service-account-openshift-gcp-filestore-csi-driver-operator
      2025/02/10 17:47:59 Saved credentials configuration to: /tmp/install-dir/ 
      1
      
      openshift-cluster-csi-drivers-gcp-filestore-cloud-credentials-credentials.yaml
      Copy to Clipboard Toggle word wrap

      1
      Le répertoire actuel.
    3. Cherchez l’e-mail du compte de service nouvellement créé en exécutant la commande suivante:

      $ cat /tmp/install-dir/manifests/openshift-cluster-csi-drivers-gcp-filestore-cloud-credentials-credentials.yaml | yq '.data["service_account.json"]' | base64 -d | jq '.service_account_impersonation_url'
      Copy to Clipboard Toggle word wrap

      Exemple de sortie

      https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/filestore-se-openshift-g-ch8cm@openshift-gce-devel.iam.gserviceaccount.com:generateAccessToken
      Copy to Clipboard Toggle word wrap

      Dans cet exemple de sortie, l’e-mail du compte de service est filestore-se-openshift-g-ch8cm@openshift-gce-devel.iam.gserviceaccount.com.

Les résultats

Il y a maintenant les paramètres suivants pour installer le GCP Filestore CSI Driver Operator:

  • Le numéro du projet - à partir de l’étape 1.b
  • ID de piscine - à partir de l’étape 2
  • ID du fournisseur - à partir de l’étape 2
  • E-mail de compte de service - à partir de l’étape 3.c

L’opérateur de l’interface de stockage de conteneurs (CSI) Filestore de Google Compute Platform (GCP) n’est pas installé dans OpenShift Dédié par défaut. Dans votre cluster, utilisez la procédure suivante pour installer le GCP Filestore CSI Driver Operator.

Conditions préalables

  • Accès à la console Web dédiée OpenShift.
  • Lorsque vous utilisez GCP Workload Identity, certains paramètres GCP Workload Identity sont nécessaires. Consultez la section précédente Préparation pour installer l’opérateur de pilotes CSI Filestore GCP avec l’identité de charge de travail.

Procédure

Installer le GCP Filestore CSI Driver Operator à partir de la console web:

  1. Connectez-vous à OpenShift Cluster Manager.
  2. Choisissez votre cluster.
  3. Cliquez sur Ouvrir la console et connectez-vous avec vos informations d’identification.
  4. Activer l’API Filestore dans le projet GCE en exécutant la commande suivante:

    $ gcloud services enable file.googleapis.com  --project <my_gce_project> 
    1
    Copy to Clipboard Toggle word wrap
    1
    &lt;my_gce_project&gt; par votre projet Google Cloud.

    Il est également possible de le faire à l’aide de la console Web Google Cloud.

  5. Installez l’opérateur GCP Filestore CSI:

    1. Cliquez sur Opérateurs OperatorHub.
    2. Localisez l’opérateur GCP Filestore CSI en tapant GCP Filestore dans la zone de filtre.
    3. Cliquez sur le bouton GCP Filestore CSI Driver Operator.
    4. Dans la page GCP Filestore CSI Driver Operator, cliquez sur Installer.
    5. Dans la page Installer l’opérateur, assurez-vous que:

      • L’ensemble des espaces de noms du cluster (par défaut) est sélectionné.
      • Installé Namespace est réglé sur openshift-cluster-csi-drivers.

        Lorsque vous utilisez GCP Workload Identity, entrez les valeurs pour les champs suivants obtenus à partir de la procédure dans la section Préparation à l’installation de l’opérateur de pilotes CSI Filestore GCP avec l’identité de charge de travail:

      • GCP Numéro de projet
      • GCP Pool ID
      • Carte d’identité du fournisseur GCP
      • GCP Service Compte Email
    6. Cliquez sur Install.

      Après la fin de l’installation, l’opérateur GCP Filestore CSI est listé dans la section Opérateurs installés de la console Web.

  6. Installez le pilote GCP Filestore CSI:

    1. Cliquez sur administration CustomResourceDefinitions ClusterCSIDriver.
    2. Dans l’onglet Instances, cliquez sur Créer un clusterCSIDriver.

      Consultez le fichier YAML suivant:

      apiVersion: operator.openshift.io/v1
      kind: ClusterCSIDriver
      metadata:
          name: filestore.csi.storage.gke.io
      spec:
        managementState: Managed
      Copy to Clipboard Toggle word wrap
    3. Cliquez sur Create.
    4. Attendez que les Conditions suivantes changent à un statut « vrai »:

      • GCPFilestoreDriverCredentialsRequestControllerDisponible
      • GCPFilestoreDriverNodeServiceControllerAvailable
      • GCPFilestoreDriverControllerServiceControllerDisponible

Après avoir installé l’opérateur, vous devez créer une classe de stockage pour le provisionnement dynamique des volumes de Google Compute Platform (GCP) Filestore.

Conditions préalables

  • Connectez-vous au cluster OpenShift Dédicated en cours d’exécution.

Procédure

Créer une classe de stockage:

  1. Créez une classe de stockage à l’aide de l’exemple de fichier YAML suivant:

    Exemple de fichier YAML

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: filestore-csi
    provisioner: filestore.csi.storage.gke.io
    parameters:
      connect-mode: DIRECT_PEERING 
    1
    
      network: network-name 
    2
    
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer
    Copy to Clipboard Toggle word wrap

    1
    Dans le cas d’un VPC partagé, utilisez le paramètre connect-mode défini sur PRIVATE_SERVICE_ACCESS. Dans le cas d’un VPC non partagé, la valeur est DIRECT_PEERING, qui est le paramètre par défaut.
    2
    Indiquez le nom du réseau de cloud privé virtuel (VPC) GCP dans lequel les instances Filestore doivent être créées.
  2. Indiquez le nom du réseau VPC dans lequel les instances Filestore doivent être créées.

    Il est recommandé de spécifier le réseau VPC dans lequel les instances Filestore doivent être créées. En l’absence de réseau VPC, le pilote Container Storage Interface (CSI) tente de créer les instances dans le réseau VPC par défaut du projet.

    Dans les installations IPI, le nom du réseau VPC est généralement le nom de cluster avec le suffixe "-réseau". Cependant, sur les installations UPI, le nom du réseau VPC peut être n’importe quelle valeur choisie par l’utilisateur.

    Dans le cas d’un PCV partagé (mode connexion = PRIVATE_SERVICE_ACCESS), le réseau doit être le nom complet du VPC. Exemple : projets/shared-vpc-name/global/networks/gcp-filestore-network.

    Découvrez le nom du réseau VPC en inspectant les objets MachineSets avec la commande suivante:

    $ oc -n openshift-machine-api get machinesets -o yaml | grep "network:"
                - network: gcp-filestore-network
    (...)
    Copy to Clipboard Toggle word wrap

    Dans cet exemple, le nom du réseau VPC dans ce cluster est "gcp-filestore-network".

5.6.5. Destruction des clusters et GCP Filestore

En règle générale, si vous détruisez un cluster, l’installateur OpenShift Dedicated supprime toutes les ressources cloud qui appartiennent à ce cluster. Cependant, en raison de la nature particulière des ressources de Google Compute Platform (GCP) Filestore, le processus de nettoyage automatisé pourrait ne pas les supprimer tous dans de rares cas.

C’est pourquoi Red Hat vous recommande de vérifier que toutes les ressources Filestore détenues par le cluster sont supprimées par le processus de désinstallation.

Procédure

Afin de s’assurer que tous les PVC GCP Filestore ont été supprimés:

  1. Accédez à votre compte Google Cloud en utilisant l’interface graphique ou CLI.
  2. Cherchez toutes les ressources avec l’étiquette appartenant à kubernetes-io-cluster-${CLUSTER_ID}=.

    Étant donné que l’ID de cluster est unique au cluster supprimé, il ne devrait pas y avoir de ressources restantes avec cet ID de cluster.

  3. Dans le cas peu probable, il y a quelques ressources restantes, supprimez-les.
Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat