5.6. Google Compute Platform Filestore CSI Driver Operator
5.6.1. Aperçu général Copier lienLien copié sur presse-papiers!
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 Copier lienLien copié sur presse-papiers!
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.
5.6.3. Installation du gestionnaire de pilotes GCP Filestore CSI Copier lienLien copié sur presse-papiers!
5.6.3.1. Installation du GCP Filestore CSI Driver Operator avec Workload Identity Copier lienLien copié sur presse-papiers!
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:
Obtenir le numéro de projet:
Demandez l’ID du projet en exécutant la commande suivante:
export PROJECT_ID=$(oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.gcp.projectID}')
$ export PROJECT_ID=$(oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.gcp.projectID}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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)"
$ gcloud projects describe $PROJECT_ID --format="value(projectNumber)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 ».
Créer des ressources d’identité de charge de travail pour l’opérateur GCP Filestore:
Créez un fichier CredentialsRequest à l’aide de l’exemple suivant:
Exemple d’identification Demandez le fichier YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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> \ --workload-identity-pool=<workload-identity-pool> \ --workload-identity-provider=<workload-identity-provider> \ --project=<project-id> \ --credentials-requests-dir=/tmp/credreq
$ ./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 Copied! Toggle word wrap Toggle overflow - 1
- <Filestore-service-account> est un nom choisi par l’utilisateur.
- 2
- <workload-identity-pool> vient de l’étape 2 ci-dessus.
- 3
- <workload-identity-provider> vient de l’étape 2 ci-dessus.
- 4
- <project-id> vient de l’étape 1.a ci-dessus.
- 5
- Le nom du répertoire où réside le fichier CredentialsRequest.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le répertoire actuel.
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'
$ 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 Copied! Toggle word wrap Toggle overflow Exemple de sortie
https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/filestore-se-openshift-g-ch8cm@openshift-gce-devel.iam.gserviceaccount.com:generateAccessToken
https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/filestore-se-openshift-g-ch8cm@openshift-gce-devel.iam.gserviceaccount.com:generateAccessToken
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
5.6.3.2. Installation du gestionnaire de pilotes GCP Filestore CSI Copier lienLien copié sur presse-papiers!
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:
- Connectez-vous à OpenShift Cluster Manager.
- Choisissez votre cluster.
- Cliquez sur Ouvrir la console et connectez-vous avec vos informations d’identification.
Activer l’API Filestore dans le projet GCE en exécutant la commande suivante:
gcloud services enable file.googleapis.com --project <my_gce_project>
$ gcloud services enable file.googleapis.com --project <my_gce_project>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- <my_gce_project> par votre projet Google Cloud.
Il est également possible de le faire à l’aide de la console Web Google Cloud.
Installez l’opérateur GCP Filestore CSI:
-
Cliquez sur Opérateurs
OperatorHub. - Localisez l’opérateur GCP Filestore CSI en tapant GCP Filestore dans la zone de filtre.
- Cliquez sur le bouton GCP Filestore CSI Driver Operator.
- Dans la page GCP Filestore CSI Driver Operator, cliquez sur Installer.
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
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.
-
Cliquez sur Opérateurs
Installez le pilote GCP Filestore CSI:
-
Cliquez sur administration
CustomResourceDefinitions ClusterCSIDriver. Dans l’onglet Instances, cliquez sur Créer un clusterCSIDriver.
Consultez le fichier YAML suivant:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Cliquez sur Create.
Attendez que les Conditions suivantes changent à un statut « vrai »:
- GCPFilestoreDriverCredentialsRequestControllerDisponible
- GCPFilestoreDriverNodeServiceControllerAvailable
- GCPFilestoreDriverControllerServiceControllerDisponible
-
Cliquez sur administration
5.6.4. Création d’une classe de stockage pour GCP Filestore Storage Copier lienLien copié sur presse-papiers!
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:
Créez une classe de stockage à l’aide de l’exemple de fichier YAML suivant:
Exemple de fichier YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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.
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:"
$ oc -n openshift-machine-api get machinesets -o yaml | grep "network:" - network: gcp-filestore-network (...)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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 Copier lienLien copié sur presse-papiers!
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:
- Accédez à votre compte Google Cloud en utilisant l’interface graphique ou CLI.
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.
- Dans le cas peu probable, il y a quelques ressources restantes, supprimez-les.