Guide de démarrage rapide : Accéder aux buckets Cloud Storage avec le pilote CSI FUSE

Dans ce guide de démarrage rapide, vous apprendrez à 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 guide de démarrage rapide fournit un exemple de fichier manifeste Kubernetes pour créer un pod qui installe le bucket. Il vous explique également comment interagir avec le contenu du bucket à l'aide du système de fichiers du pod.

Cette page est destinée aux développeurs, aux spécialistes du 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 Rôles utilisateur et tâches courantes de GKE.

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

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the GKE and Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Assurez-vous de disposer du ou des rôles suivants sur le projet : Administrateur Kubernetes Engine, Administrateur du stockage, Utilisateur du compte de service

    Vérifier les rôles

    1. Dans la Cloud de Confiance console, accédez à la page IAM.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. 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.

    4. 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

    1. Dans la Cloud de Confiance console, accédez à la page IAM.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. Cliquez sur Accorder l'accès.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'identifiant associé à un utilisateur dans un pool d'identités de personnel. Pour en savoir plus, consultez Représenter les utilisateurs de pools de personnel dans les stratégies IAM ou contactez votre administrateur.

    5. Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
    6. Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
    7. Cliquez sur Enregistrer.

Créer un cluster GKE Autopilot

  1. Dans la Cloud de Confiance console, accédez à la page Créer un cluster Autopilot.

    Accéder à la page "Créer un cluster Autopilot"

  2. Sous Paramètres de base du cluster, procédez comme suit :

    1. Dans le champ Nom, saisissez un nom pour le cluster.

    2. Conservez les valeurs par défaut des autres paramètres.

  3. Pour créer le cluster, cliquez sur Créer.

Créer un bucket Cloud Storage

  1. Dans la Cloud de Confiance console, accédez à la page Buckets de Cloud Storage.

    Accéder à la page Buckets

  2. Cliquez sur Créer.

  3. Sur la page Créer un bucket, dans la section Premiers pas, procédez comme suit :

    1. Saisissez un nom unique pour votre bucket qui répond aux exigences de dénomination des buckets.

    2. Conservez les valeurs par défaut des autres paramètres.

  4. Pour créer le bucket, cliquez sur Créer.

Importer des objets dans votre bucket Cloud Storage

  1. Dans la Cloud de Confiance console, accédez à la page Buckets de Cloud Storage.

    Accéder à la page Buckets

  2. Dans la liste des buckets, cliquez sur le nom de celui que vous venez de créer.

  3. 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 Cloud de Confiance console.

    • 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 décrites dans Configurer l'accès aux buckets Cloud Storage.

Configurer Cloud Shell

Dans la Cloud de Confiance console, activez Cloud Shell.

Activer 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

  1. Définissez le projet par défaut dans lequel vous souhaitez déployer le pod :

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet.

  2. 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 autre compte de service, remplacez les champs namespace et serviceAccountName en conséquence.

    Le contenu de ce fichier manifeste démarre un pod appelé gcsfuse-test qui installe le bucket sur son chemin /data.

  3. 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 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.

  4. Une fois le pod en cours d'exécution, vous pouvez explorer son système de fichiers :

    kubectl exec -it gcsfuse-test -- find /data
    

Libérer de l'espace

Pour éviter que des frais ne soient facturés sur votre Cloud de Confiance by S3NS compte pour les ressources que vous avez utilisées dans ce tutoriel, supprimez le pod :

kubectl delete pod gcsfuse-test

Étape suivante