Configura volúmenes de agentes de Filestore

Antes de crear grupos de volúmenes o aprovisionar volúmenes, debes configurar las redes de nube privada virtual (VPC) con Private Service Connect (PSC), habilitar las APIs requeridas y otorgar los roles de IAM adecuados.

Crea un proyecto y habilita las APIs

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  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

Roles obligatorios

Para obtener los permisos que necesitas para configurar volúmenes de agentes de Filestore, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

  • Configura las políticas de conexión de servicio y las herramientas de redes de VPC: Administrador de red de Compute (roles/compute.networkAdmin)
  • Visualiza y administra instancias de Filestore y recursos relacionados, incluidos los grupos de volúmenes y los volúmenes de agentes: Editor de Cloud Filestore (roles/file.editor)

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Inicializa el agente de servicio

Si no creaste una instancia de Filestore en tu proyecto, inicializa el agente de servicio de Filestore ejecutando el siguiente comando:

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

Reemplaza PROJECT_ID por el ID de tu proyecto Google Cloud.

Otorga permisos al agente de servicio

Para configurar volúmenes de agentes de Filestore, otorga el rol de editor de Cloud Filestore (roles/file.editor) al agente de servicio de Filestore:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • PROJECT_NUMBER: Es el número de tu proyectoGoogle Cloud .

Configura las redes de Private Service Connect

Los volúmenes del agente de Filestore usan Private Service Connect para conectar la infraestructura de almacenamiento administrada directamente a tu red de VPC. Private Service Connect garantiza una comunicación privada, de alto ancho de banda y de baja latencia sin necesidad de direcciones IP públicas ni configuraciones de intercambio de tráfico entre redes de VPC.

Para crear una política de conexión de servicio, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • POLICY_NAME: Es un nombre para la política de conexión del servicio, como filestore-agent-psc-policy.
  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • REGION: Es la región en la que residirán el grupo de volúmenes y las cargas de trabajo, como us-central1.
  • VPC_NETWORK: Es el nombre de una red de VPC existente.
  • SUBNET_NAME: Es el nombre de una subred de VPC normal en la región especificada en la que se asignarán las direcciones IP del extremo de Private Service Connect. Un ejemplo puede ser la subred predeterminada con la marca --purpose establecida en PRIVATE.

Crea un grupo de volúmenes y una StorageClass

Un grupo de volúmenes proporciona la capacidad de almacenamiento compartido y las IOPS para los volúmenes de agentes. Para aprovisionar volúmenes de forma dinámica desde tu grupo de volúmenes en GKE, crea el grupo de volúmenes y, luego, define un StorageClass de Kubernetes que haga referencia a él.

Crea un grupo de volúmenes

Para crear un grupo de volúmenes de muestra, envía una solicitud HTTP POST al extremo 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"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • VPC_NETWORK: Es el nombre de tu red de VPC habilitada para PSC.
  • LOCATION: Es la región en la que se implementa el grupo de volúmenes, como us-central1.
  • VOLUME_POOL_ID: Es un identificador para el grupo de volúmenes, como my-volume-pool.

Para obtener más información, consulta Crea y administra grupos de volúmenes.

Crea un StorageClass

Crea un manifiesto StorageClass llamado volume-pool-sc.yaml que haga referencia a tu grupo de volúmenes:

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>"

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID de tu proyecto de Google Cloud .
  • LOCATION: Es la región en la que se implementa el grupo de volúmenes.
  • VOLUME_POOL_ID: Es el identificador de tu grupo de volúmenes.

Si tienes un clúster de GKE existente con el controlador de CSI de Filestore instalado, aplica StorageClass:

kubectl apply -f volume-pool-sc.yaml

De lo contrario, aplica este manifiesto después de configurar tu clúster en Configura el entorno de GKE para los volúmenes del agente de Filestore.

¿Qué sigue?