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 depuis une application Google Kubernetes Engine (GKE) comme s'il s'agissait de systèmes de fichiers locaux. Ce démarrage rapide fournit un exemple de fichier manifeste Kubernetes permettant de créer un pod qui monte le bucket. Il vous montre également 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 du stockage et à toute autre 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 Rôles utilisateur et tâches courantes de GKE.
Avant de lire cette page, assurez-vous de maîtriser 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
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the GKE and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the GKE and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Assurez-vous de disposer des rôles suivants sur le projet : Administrateur Kubernetes Engine, Administrateur de l'espace de stockage, Utilisateur du compte de service
Vérifier les rôles
-
Dans la console Google Cloud , accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
-
Dans la colonne Compte principal, recherchez toutes les lignes qui vous identifient ou identifient un groupe dont vous faites partie. Pour savoir à quels groupes vous appartenez, contactez votre administrateur.
- Pour toutes les lignes qui vous spécifient ou vous incluent, consultez la colonne Rôle pour vous assurer que la liste inclut les rôles requis.
Attribuer les rôles
-
Dans la console Google Cloud , accédez à la page IAM.
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.
- Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
- Cliquez sur Enregistrer.
-
Créer un cluster GKE Autopilot
Dans la console Google Cloud , accédez à la page Créer un cluster 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 de 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 de 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 actions 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 les étapes de la section Configurer l'accès aux buckets Cloud Storage.
Configurer Cloud Shell
Dans la console Google Cloud , activez Cloud Shell.
Une session Cloud Shell démarre et affiche une invite de ligne de commande. L'initialisation de la session peut prendre quelques secondes.
Déployer un pod pour accéder à votre bucket Cloud Storage à l'aide de FUSE
Définissez le projet par défaut dans lequel vous souhaitez déployer le pod :
gcloud config set project PROJECT_IDRemplacez
PROJECT_IDpar l'ID du projet.Créez et appliquez le fichier manifeste de 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_NAMEpar le nom de votre bucket Cloud Storage. - Si vous utilisez un autre espace de noms ou un autre compte de service, remplacez les champs
namespaceetserviceAccountNameen conséquence.
Le contenu de ce fichier manifeste lance un pod appelé
gcsfuse-testqui 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-testLe résultat ressemble à ce qui suit :
NAME READY STATUS RESTARTS AGE gcsfuse-test 2/2 Running 0 12sLe pilote CSI Cloud Storage FUSE associe un conteneur side-car à votre pod pour gérer les interactions avec Cloud Storage.
Si le pod n'est pas en cours d'exécution, vous pouvez récupérer les journaux d'é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 soient facturées sur votre compte Google Cloud , supprimez le pod :
kubectl delete pod gcsfuse-test
Étapes suivantes
- Découvrez comment fonctionne le pilote CSI Cloud Storage FUSE pour GKE.
- En savoir plus sur les fonctionnalités de Cloud Storage FUSE
- Résolvez les problèmes liés à Cloud Storage FUSE.
- Optimisez automatiquement les performances grâce aux profils Cloud Storage FUSE.
- Optimiser manuellement les performances de Cloud Storage FUSE