Configurer des volumes d'agent Filestore

Avant de créer des pools de volumes ou d'en provisionner, vous devez configurer la mise en réseau du cloud privé virtuel (VPC) à l'aide de Private Service Connect (PSC), activer les API requises et attribuer les rôles IAM appropriés.

Créer un projet et activer les API

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Filestore APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the APIs

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Filestore APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the APIs

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer les volumes de l'agent Filestore, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

  • Configurer les règles de connexion de service et la mise en réseau VPC : Administrateur de réseaux Compute (roles/compute.networkAdmin)
  • Afficher et gérer les instances Filestore et les ressources associées, y compris les pools de volumes et les volumes d'agent : Éditeur Cloud Filestore (roles/file.editor)

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Initialiser l'agent de service

Si vous n'avez pas créé d'instance Filestore dans votre projet, initialisez l'agent de service Filestore en exécutant la commande suivante :

gcloud beta services identity create \
    --service=file.googleapis.com \
    --project=PROJECT_ID

Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

Accorder des autorisations à l'agent de service

Pour configurer des volumes d'agent Filestore, attribuez le rôle Éditeur Cloud Filestore (roles/file.editor) à l'agent de service Filestore :

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:service-PROJECT_NUMBER@cloud-filer.iam.iam.gserviceaccount.com" \
    --role="roles/file.editor"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • PROJECT_NUMBER : numéro de votre projetGoogle Cloud .

Configurer la mise en réseau Private Service Connect

Les volumes d'agent Filestore utilisent Private Service Connect pour connecter l'infrastructure de stockage gérée directement à votre réseau VPC. Private Service Connect assure une communication privée, à haut débit et à faible latence, sans nécessiter d'adresses IP publiques ni de configurations d'appairage de réseaux VPC.

Pour créer une règle de connexion de service, exécutez la commande suivante :

gcloud network-connectivity service-connection-policies create POLICY_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --network=projects/PROJECT_ID/global/networks/VPC_NETWORK \
    --subnets=SUBNET_NAME \
    --service-class=google-cloud-filestore

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de connexion de service, par exemple filestore-agent-psc-policy.
  • PROJECT_ID : ID de votre projet Google Cloud .
  • REGION : région dans laquelle résideront le pool de volumes et les charges de travail, par exemple us-central1.
  • VPC_NETWORK : nom d'un réseau VPC existant.
  • SUBNET_NAME : nom d'un sous-réseau VPC standard dans la région spécifiée où les adresses IP des points de terminaison Private Service Connect doivent être allouées. Par exemple, le sous-réseau par défaut peut avoir l'option --purpose définie sur PRIVATE.

Créer un pool de volumes et une StorageClass

Un pool de volumes fournit la capacité de stockage partagée et les IOPS pour les volumes d'agent. Pour provisionner dynamiquement des volumes à partir de votre pool de volumes dans GKE, créez le pool de volumes, puis définissez un StorageClass Kubernetes qui y fait référence.

Créer un pool de volumes

Pour créer un exemple de pool de volumes, envoyez une requête HTTP POST au point de terminaison volumePools.create :

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{
      "description": "Sample volume pool for agent volumes",
      "network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
      "defaultVolumeQuotaMib": 2048,
    }' \
    "https://file.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/volumePools?volumePoolId=VOLUME_POOL_ID"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • VPC_NETWORK : nom de votre réseau VPC compatible avec PSC.
  • LOCATION : région dans laquelle le pool de volumes est déployé, par exemple us-central1.
  • VOLUME_POOL_ID : identifiant du pool de volumes, tel que my-volume-pool.

Pour en savoir plus, consultez Créer et gérer des pools de volumes.

Créer un objet StorageClass

Créez un fichier manifeste StorageClass nommé volume-pool-sc.yaml qui fait référence à votre pool de volumes :

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: volume-pool-sc
provisioner: filestore.csi.storage.gke.io
volumeBindingMode: Immediate
reclaimPolicy: Delete
allowVolumeExpansion: true
parameters:
  volume-pool: "projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/volumePools/<var>VOLUME_POOL_ID</var>"

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet Google Cloud .
  • LOCATION : région dans laquelle le pool de volumes est déployé.
  • VOLUME_POOL_ID : identifiant de votre pool de volumes.

Si vous disposez d'un cluster GKE existant sur lequel le pilote CSI Filestore est installé, appliquez StorageClass :

kubectl apply -f volume-pool-sc.yaml

Sinon, appliquez ce fichier manifeste après avoir configuré votre cluster dans Configurer l'environnement GKE pour les volumes de l'agent Filestore.

Étapes suivantes