Guide de démarrage rapide: Accéder aux buckets Cloud Storage avec le pilote CSI FUSE
Dans ce guide de démarrage rapide, vous allez apprendre à accéder aux buckets Cloud Storage à partir d'une application Google Kubernetes Engine (GKE) comme s'ils s'agissait de systèmes de fichiers locaux. Ce tutoriel de démarrage rapide fournit un exemple de fichier manifeste Kubernetes pour créer un pod qui monte le bucket, et vous montre comment interagir avec le contenu du bucket à l'aide du système de fichiers du pod.
Cette page s'adresse aux développeurs, aux spécialistes de l'espace de stockage et à toute personne souhaitant provisionner et gérer des ressources cloud, et déployer des charges de travail. Pour en savoir plus sur les rôles courants, consultez la section Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.
Avant de lire cette page, assurez-vous de connaître Kubernetes et le pilote CSI Cloud Storage FUSE.
Ce guide de démarrage rapide utilise le mode GKE Autopilot. Si vous souhaitez utiliser le mode Standard, consultez Configurer le pilote CSI Cloud Storage FUSE pour GKE.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the GKE and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the GKE and Cloud Storage APIs.
-
Make sure that you have the following role or roles on the project: roles/container.admin, roles/storage.admin, roles/storage.objectUser, roles/iam.serviceAccountUser
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Accéder à IAM - Sélectionnez le projet.
- Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.
- Dans la liste Sélectionner un rôle, sélectionnez un rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.
- Cliquez sur Enregistrer.
-
Créer un cluster GKE Autopilot
Dans la console Google Cloud, accédez à la page Clusters GKE.
Cliquez sur
Créer.Dans la boîte de dialogue Créer un cluster, cliquez sur Configurer pour le mode Autopilot.
Sous Paramètres de base du cluster, procédez comme suit :
Dans le champ Nom, saisissez un nom pour le cluster.
Conservez les valeurs par défaut des autres paramètres.
Pour créer le cluster, cliquez sur Créer.
Créer un bucket Cloud Storage
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Cliquez sur
Créer.Sur la page Créer un bucket, dans la section Premiers pas, procédez comme suit:
Saisissez un nom unique pour votre bucket qui répond aux exigences de dénomination des buckets.
Conservez les valeurs par défaut des autres paramètres.
Pour créer le bucket, cliquez sur Créer.
Importer des objets dans votre bucket Cloud Storage
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom de celui que vous venez de créer.
Dans l'onglet Objets du bucket, effectuez l'une des opérations suivantes:
Faites glisser des fichiers de votre bureau ou de votre gestionnaire de fichiers vers le volet principal de la console Google Cloud.
Cliquez sur le bouton Importer des fichiers. Dans la boîte de dialogue qui s'affiche, sélectionnez les fichiers que vous souhaitez importer, puis cliquez sur Ouvrir.
Configurer l'accès à votre bucket Cloud Storage
Pour vous assurer que votre bucket Cloud Storage est accessible par votre cluster GKE, suivez la procédure décrite dans Configurer l'accès aux buckets Cloud Storage.
Déployer un pod pour accéder à votre bucket Cloud Storage à l'aide de FUSE
In the Google Cloud console, activate Cloud Shell.
Une session Cloud Shell s'ouvre dans un cadre de la console.
Pour définir le projet par défaut, utilisez l'ID du projet dans lequel vous souhaitez déployer le pod:
gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par l'ID du projet.Créez et appliquez le fichier manifeste du pod avec le contenu suivant:
cat << EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: gcsfuse-test namespace: default annotations: gke-gcsfuse/volumes: "true" spec: terminationGracePeriodSeconds: 60 containers: - image: busybox name: busybox command: ["sleep"] args: ["infinity"] volumeMounts: - name: gcsfuse-test mountPath: /data readOnly: true serviceAccountName: default volumes: - name: gcsfuse-test csi: driver: gcsfuse.csi.storage.gke.io volumeAttributes: bucketName: BUCKET_NAME mountOptions: "implicit-dirs" EOF
- Remplacez
BUCKET_NAME
par le nom de votre bucket Cloud Storage. - Si vous utilisez un autre espace de noms ou un compte de service, remplacez les champs
namespace
etserviceAccountName
en conséquence.
Le contenu de ce fichier manifeste démarre un pod appelé
gcsfuse-test
qui installe le bucket sur son chemin d'accès/data
.- Remplacez
Vérifiez qu'il est en cours d'exécution :
kubectl get pod gcsfuse-test
Le résultat ressemble à ce qui suit :
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12s
Le pilote CSI Cloud Storage FUSE associe un conteneur side-car à votre pod pour gérer les interactions avec Cloud Storage.
Si le pod ne s'exécute pas, vous pouvez récupérer les journaux des événements pour vous aider à diagnostiquer le problème en exécutant la commande
kubectl describe pod gcsfuse-test
. Pour en savoir plus, consultez la section Dépannage sur GitHub.Une fois le pod en cours d'exécution, vous pouvez explorer son système de fichiers:
kubectl exec -it gcsfuse-test -- find /data
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans ce tutoriel ne soient facturées sur votre compte Google Cloud , supprimez le pod:
kubectl delete pod gcsfuse-test