Activa una instancia de Filestore en VMs de Cloud TPU

Filestore es un almacenamiento conectado a la red (NAS) completamente administrado para Compute Engine. Ofrece compatibilidad nativa con aplicaciones empresariales existentes y admite cualquier cliente compatible con NFSv3.

Antes de comenzar

Para activar una instancia de Filestore en tu VM de Cloud TPU, debes agregar un rol de Filestore (Editor de Cloud Filestore o Visualizador de Cloud Filestore) a la cuenta de servicio asociada con tu VM de Cloud TPU. Si no especificas una cuenta de servicio personalizada cuando creas una VM de Cloud TPU, esta usará la cuenta de servicio predeterminada de Compute Engine. Si deseas obtener más información para especificar una cuenta de servicio cuando creas una VM de Cloud TPU, consulta Configura el entorno de Cloud TPU. Si deseas obtener más información para crear una cuenta de servicio, consulta Crea cuentas de servicio.

Agrega el rol de Editor de Filestore a una cuenta de servicio

En esta sección, se describe cómo agregar el rol de Editor de Cloud Filestore a la cuenta de servicio predeterminada de Compute Engine. Sigue estas instrucciones para agregar el rol de Editor de Cloud Filestore a cualquier cuenta de servicio. En el paso 2, busca y usa una cuenta de servicio personalizada en lugar de la cuenta de servicio predeterminada de Compute Engine.

  1. Ir a la consola de IAM.

  2. Selecciona la pestaña Ver por principales y escribe Name:Compute Engine default service account en el campo Filtro.

  3. Haz clic en Editar junto a la cuenta de servicio. En la consola de IAM, se muestra un diálogo en el que se enumeran los roles asignados a la cuenta de servicio predeterminada de Compute Engine.

  4. Haz clic en Agregar para agregar otro rol.

  5. Expande el menú Seleccionar un rol , escribe Filestore en el filtro y selecciona Editor de Cloud Filestore.

  6. Haz clic en Guardar para cerrar el diálogo. Agregaste el rol de Editor de Filestore a la cuenta de servicio predeterminada de Compute Engine.

Para obtener más información sobre las cuentas de servicio, consulta Descripción general de las cuentas de servicio. Si deseas obtener más información sobre los roles de IAM, consulta Roles y permisos.

Crea una instancia de Filestore

Sigue las instrucciones que se encuentran en Crea instancias de Filestore para crear una instancia de Filestore.

Activa una instancia de Filestore en una VM de Cloud TPU

Los comandos para activar una instancia de Filestore en una VM de Cloud TPU dependen de si usas una sola VM de Cloud TPU o una porción de Cloud TPU.

Activa una instancia de Filestore en una sola VM de Cloud TPU

  1. Conéctate a la VM de tu Cloud TPU con SSH.

    gcloud compute ssh TPU_NAME \
      --zone=ZONE
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • TPU_NAME: Es el nombre de tu VM de TPU.
    • ZONE: Es la zona de tu VM de TPU.
  2. Instala el paquete nfs-common.

    sudo apt-get update --allow-releaseinfo-change \
      && sudo apt-get -y update \
      && sudo apt-get -y install nfs-common
    
  3. Crea un directorio para activar NFS.

    sudo mkdir -p MOUNT_DIR \
      && sudo chmod ugo+rw MOUNT_DIR
    

    Reemplaza el siguiente marcador de posición:

    • MOUNT_DIR: Es el directorio en el que deseas activar la instancia de Filestore.
  4. Busca la dirección IP de Filestore.

    gcloud filestore instances describe FILESTORE_INSTANCE_NAME \
      --location FILESTORE_REGION
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • FILESTORE_INSTANCE_NAME: Es el nombre de tu instancia de Filestore.
    • FILESTORE_REGION: Es la región de tu instancia de Filestore.
  5. Activa la instancia de Filestore en tu VM de Cloud TPU en tu directorio de activación.

    sudo mount FILESTORE_IP:FILE_SHARE_NAME MOUNT_DIR
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • FILESTORE_IP: Es la dirección IP de tu instancia de Filestore.
    • FILE_SHARE_NAME: Es el nombre del uso compartido de archivos en tu instancia de Filestore.
    • MOUNT_DIR: Es el directorio en el que deseas activar la instancia de Filestore.

Activa una instancia de Filestore en una porción de Cloud TPU

Las porciones de Cloud TPU se aprovisionan como grupos de instancias administrados (MIG) de Compute Engine. Debido a que los MIG distribuyen VMs en la capacidad de procesamiento, usa una secuencia de comandos de inicio adjunta a tu plantilla de instancias para activar una instancia de Filestore en todas las máquinas de tu porción. Esto garantiza que la activación esté disponible automáticamente cada vez que se creen o reparen instancias de forma automática.

  1. Busca la dirección IP de tu instancia de Filestore.

    gcloud filestore instances describe FILESTORE_INSTANCE_NAME \
      --location FILESTORE_REGION
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • FILESTORE_INSTANCE_NAME: Es el nombre de tu instancia de Filestore.
    • FILESTORE_REGION: Es la región de tu instancia de Filestore.
  2. Crea una secuencia de comandos de inicio. La secuencia de comandos instala el paquete nfs-common, crea el directorio de activación y adjunta la instancia de Filestore. Guarda el siguiente código como un archivo local llamado mount-filestore.sh.

    #!/bin/bash
    sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common
    sudo mkdir -p MOUNT_DIR
    sudo chmod ugo+rw MOUNT_DIR
    sudo mount FILESTORE_IP:FILE_SHARE_NAME MOUNT_DIR
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • FILESTORE_IP: Es la dirección IP de tu instancia de Filestore.
    • FILE_SHARE_NAME: Es el nombre del uso compartido de archivos en tu instancia de Filestore.
    • MOUNT_DIR: Es el directorio en el que deseas activar la instancia de Filestore.
  3. Aplica la secuencia de comandos de inicio a tu plantilla de instancias. Cuando crees la plantilla de instancias para tu MIG, usa la marca --metadata-from-file para proporcionar tu secuencia de comandos.

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
      --metadata-from-file=startup-script=mount-filestore.sh \
      ...
    

    Reemplaza los marcadores de posición que se indican más abajo:

    • INSTANCE_TEMPLATE_NAME: Es el nombre de tu plantilla de instancias.

Escribe datos en una instancia de Filestore

Otorga permisos de lectura y escritura de Linux en el directorio en el que activas la instancia de Filestore. Luego, puedes usar el directorio como lo harías con tu sistema de archivos local.