En esta página, se muestra cómo editar una instancia de Filestore con la consola deGoogle Cloud o gcloud CLI.
Una vez creado, puedes modificar una instancia de Filestore de las siguientes maneras:
- Aumenta su capacidad
- Disminuye la capacidad de los siguientes niveles de servicio:
- Zonal
- Regional
- Enterprise
- Configurar el rendimiento
- Cambia su descripción
- Administra las reglas de control de acceso basadas en IP
- Administrar etiquetas
- Para obtener más información, consulta Cómo administrar etiquetas.
Para obtener más información sobre el escalamiento de la capacidad, consulta Escala la capacidad.
Algunas especificaciones, como la dirección IP de la instancia, son inmutables.
Instrucciones para editar una instancia
Google Cloud console
Para editar las instancias de Filestore con la consola de Google Cloud , navega a la página Editar instancia, en la que puedes editar la descripción de la instancia, administrar las reglas de control de acceso basadas en IP y escalar el rendimiento de archivos compartidos:
En la consola de Google Cloud , ve a la página de instancias de Filestore.
Haz clic en el ID de la instancia que deseas editar.
En la página Detalles de la instancia, haz clic en Editar para ir a la página Editar instancia.
Cambia la descripción de la instancia, las reglas de control de acceso basadas en IP y la capacidad según sea necesario. Para obtener más detalles, consulta Crea instancias.
Haga clic en Save.
gcloud
Antes de comenzar
Para usar gcloud CLI, debes instalarla o usar Cloud Shell que está integrado en la consola de Google Cloud :
Comando de gcloud
para editar una instancia
Para editar una instancia de Filestore, ejecuta el comando instances
update
. Si necesitas actualizar las reglas de configuración para el control de acceso basado en IP, debes usar la marca --flags-file
y especificar un archivo de configuración JSON. Si eliges este método, no necesitas usar la marca --file-share
porque ya está incluida en el archivo de configuración JSON.
gcloud filestore instances update INSTANCE_ID
--[project="PROJECT_ID"]
--[location=LOCATION]
--[performance=PERFORMANCE] \
--[file-share=name="FILE_SHARE_NAME",CAPACITY=FILE_SHARE_SIZE]
--[description="DESCRIPTION"]
--[flags-file=FILE_NAME.json]
Donde:
- INSTANCE_ID es el ID de la instancia de Filestore que deseas editar.
PROJECT_ID es el ID del proyecto de Google Cloud que contiene la instancia de Filestore. Puedes omitir esta marca si la instancia de Filestore está en el proyecto predeterminado
gcloud
. Para configurar el proyecto predeterminado, ejecuta el siguiente comando:gcloud config set project project-id
LOCATION es la ubicación en la que se encuentra la instancia de Filestore. Para las instancias regionales y empresariales, especifica una región. Para todas las demás instancias, especifica una zona. Ejecuta el comando
gcloud filestore zones list
para obtener una lista de las zonas compatibles. Puedes omitir esta marca si la instancia de Filestore está en la zona predeterminada degcloud
. Para configurar la zona predeterminada, ejecuta el siguiente comando:gcloud config set filestore/zone zone
PERFORMANCE es la configuración de rendimiento que se usa para especificar la configuración de rendimiento personalizada independientemente de la capacidad elegida.
Puedes usar solo una de las siguientes opciones:
max-iops-per-tb
especifica una tasa de IOPS por TiB que se escala de forma lineal con la capacidad de la instancia.max-iops
especifica una tasa de IOPS fija que no se escala con la capacidad de la instancia.El formato se ve de la siguiente manera:
--performance=max-iops-per-tb=17000
FILE_SHARE_NAME es el nombre del archivo compartido que se entrega desde la instancia de Filestore. Los nombres de los archivos compartidos no se pueden cambiar después de que se crea la instancia.
FILE_SHARE_SIZE es el tamaño nuevo que deseas para el recurso de archivos compartidos. Puedes especificar el tamaño de archivos compartidos en números enteros mediante
GiB
(predeterminado) oTiB
.Para ver tu cuota disponible, ve a la página Cuotas en la Google Cloud consola:
DESCRIPTION es la descripción opcional de la instancia de Filestore.
FILE_NAME es el nombre del archivo de configuración json para el control de acceso basado en IP.
Ejemplo de archivo de configuración json:
{ "--file-share": { "capacity": "4096", "name": "my_vol", "nfs-export-options": [ { "access-mode": "READ_WRITE", "ip-ranges": [ "10.0.0.0", "10.2.0.0" ], "squash-mode": "ROOT_SQUASH", "anon_uid": 1003, "anon_gid": 1003 }, { "access-mode": "READ_ONLY", "ip-ranges": [ "10.0.1.0/28" ], "squash-mode": "NO_ROOT_SQUASH" } ], } }
Donde:
- ip-ranges es la dirección IP o el rango al que se le otorga acceso. Puedes especificar varias direcciones IP o rangos si los separas con una coma.
Solo los siguientes niveles de servicio admiten la configuración de rangos de direcciones IP superpuestos:
- Zonal
- Regional
- Enterprise
- access-mode es el nivel de acceso para otorgar a los clientes cuya dirección IP se encuentra dentro de ip-range. Puede tener los valores de
READ_WRITE
oREAD_ONLY
. El valor predeterminado esREAD_WRITE
. - squash-mode puede tener los valores
ROOT_SQUASH
oNO_ROOT_SQUASH
.ROOT_SQUASH
quita el acceso de nivel raíz a los clientes cuya dirección IP se encuentra dentro de ip-range, mientras queNO_ROOT_SQUASH
habilita el acceso raíz. El valor predeterminado esNO_ROOT_SQUASH
. - anon_uid es el valor de ID de usuario que deseas asignar a
anon_uid
. El valor predeterminado es65534
. - anon_gid es el valor del ID del grupo que deseas asignar a
anon_gid
. El valor predeterminado es65534
.
- ip-ranges es la dirección IP o el rango al que se le otorga acceso. Puedes especificar varias direcciones IP o rangos si los separas con una coma.
Solo los siguientes niveles de servicio admiten la configuración de rangos de direcciones IP superpuestos:
Ejemplo
El siguiente ejemplo actualiza la instancia nfs-server
al aumentar el tamaño del archivo compartido a 3 TiB
.
gcloud filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TiB
```
API de REST
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API de Filestore:curl --request PATCH \ 'https://file.googleapis.com/v1/projects/PROJECT/locations/LOCATION/instances?instanceId=NAME?updateMask=performanceConfig%2CdeletionProtectionReason%2CdeletionProtectionEnabled&key=YOUR_API_KEY' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "tier":"TIER", "networks":[ { "network":"NETWORK" } ], "performanceConfig": {"PERFORMANCE"} "fileShares":[ {"capacityGb":CAPACITY,"name":"SHARE_NAME"} ], "deletionProtectionEnabled": true, "deletionProtectionReason": "PROTECTION_REASON"}' \ --compressed
Aquí:
PROJECT
es el nombre del proyecto en el que residirá tu instancia. Por ejemplo,my-genomics-project
LOCATION
es la ubicación en la que residirá la instancia. Por ejemplo,us-east1
ous-central1-a
.NAME
es el nombre de la instancia que deseas crear. Por ejemplo,my-genomics-instance
PERFORMANCE
es la configuración de rendimiento que se usa para especificar la configuración de rendimiento personalizada.Solo puedes usar una de las opciones proporcionadas.
iopsPerTB
habilita el rendimiento personalizado con una tasa de IOPS definida por el usuario que se escala con la capacidad de la instancia. Para definir los IOPS por TiB, usa el campomaxIopsPerTb
.fixedIops
habilita el rendimiento personalizado con una tasa de IOPS fija que no se escala con la capacidad de la instancia. Para definir un valor de IOPS fijo, usa el campomaxIops
.El formato es el siguiente:
"performanceConfig": { "iopsPerTb" : { "maxIopsPerTb":17000 } }
CAPACITY
es el tamaño, en GiB, que deseas asignar para la instancia. Por ejemplo,1024
SHARE_NAME
es el nombre del archivo compartido. Por ejemplo,vol1
.PROTECTION_REASON
Si decides usar la marcadeletionProtectionEnabled
, tienes la opción de agregar una nota sobre la configuración. Para agregar la nota, usa la marca opcionaldeletionProtectionReason
y, luego, incluye una descripción de la justificación del parámetro de configuración que elegiste. Por ejemplo, "Todos los datos de genómica deben cumplir con las políticas actuales de la organización". Para obtener más información, consulta Protección contra la eliminación.
Ejemplo
En el siguiente ejemplo, se actualiza la instancia
nfs-server
disminuyendo la proporción de IOPS por TiB a12000
.curl --request PATCH \ 'https://file.googleapis.com/v1/projects/my-project/locations/us-central1/instances?instanceId=nfs-server?updateMask=performanceConfig%2CdeletionProtectionReason&key=12334fr232' \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "performanceConfig": { "iopsPerTb": { "maxIopsPerTb":12000 } }, "deletionProtectionReason":"Deletion+not+allowed"}' \ --compressed
¿Qué sigue?
- Crea otra instancia.
- Activar el archivo compartido de Filestore en una instancia de VM de Compute Engine.
- Accede a las instancias de Filestore con el controlador de CSI de Filestore.
- Escala la capacidad