Migrar de gcutil a gcloud compute


Ahora que gcloud compute está disponible de forma general, Compute Engine recomienda que todos los usuarios pasen de gcutil a la herramienta gcloud compute. gcloud compute es una herramienta de línea de comandos unificada que incluye varias mejoras con respecto a gcutil, como las siguientes:

  • Finalización con tabulación
  • Actualización in situ
  • Ayuda detallada al estilo de las páginas del manual
  • Posibilidad de elegir entre diferentes formatos de salida

Para ayudar a los usuarios a pasar de gcutil a gcloud compute, en esta guía se describen brevemente los principales cambios entre las dos herramientas. Para obtener una descripción detallada de la herramienta gcloud compute, consulta la gcloud compute documentación.

Nuevos comandos de gcloud

Todos los comandos de gcutil tienen comandos equivalentes en la herramienta gcloud compute, con algunas excepciones. Puedes consultar una lista completa de los comandos de gcloud en las páginas de referencia o ejecutando gcloud compute --help. En la tabla siguiente se resumen brevemente los cambios en los comandos populares de gcutil.

Comando gcutil Comando gcloud compute
gcutil addinstance INSTANCE
gcloud compute instances create INSTANCE
Notas

Crea una instancia.

  • Se puede definir una zona o una región predeterminada. De lo contrario, `gcloud compute` te pedirá que elijas una zona o una región.
  • Crea máquinas virtuales con propiedades predeterminadas, como las siguientes:
    • machine-type: n1-standard-1
    • image: debian-10

Consulta Crear e iniciar una instancia.

Comando gcutil Comando gcloud compute
gcutil deleteinstance INSTANCE
gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
Notas

Elimina instancias. Consulta Eliminar una instancia.

Comando gcutil Comando gcloud compute
gcutil ... --cache_flag_values
gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
Notas

Define los valores predeterminados de proyecto, zona y región. Consulta Definir una zona y un territorio predeterminados.

Comando gcutil Comando gcloud compute
gcutil push/pull
gcloud compute scp
Notas

Copia archivos entre un ordenador local y una máquina virtual. Consulta Transferir archivos con Google Cloud CLI.

Comando gcutil Comando gcloud compute
gcutil deleteRESOURCE
gcloud compute RESOURCES delete
Notas

Elimina recursos, por ejemplo:

gcloud compute instances delete example-instance
Comando gcutil Comando gcloud compute
gcutil getRESOURCES
gcloud compute RESOURCES describe
Notas

Describe un solo recurso, por ejemplo:

gcloud compute instances describe example-instance

Comando gcutil Comando gcloud compute
gcutil listRESOURCES
gcloud compute RESOURCES list
Notas

Lista todos los recursos de ese tipo. Por ejemplo, para enumerar instancias:

gcloud compute instances list

Comando gcutil Comando gcloud compute
gcutil setmetadata
gcloud compute instances add-metadata
gcloud compute instances remove-metadata
gcloud compute project-info add-metadata
gcloud compute project-info remove-metadata
Notas

La herramienta ahora se encarga del bloqueo optimista, por lo que no es necesario especificar una huella digital manualmente. Consulta Configurar metadatos de instancia personalizados.

Comando gcutil Comando gcloud compute
gcutil … --dump_request_response

Aún no está disponible.

Comando gcutil Comando gcloud compute
gcutil … --log_level=DEBUG
gcloud … --verbosity debug
Notas

Además, los registros se almacenan en archivos de cada comando en ~/.config/gcloud/logs.

Comando gcutil Comando gcloud compute
gcutil ssh INSTANCE --ssh_user
gcloud compute ssh USER@INSTANCE
Notas

Consulta Conectarse a una instancia.

Comando gcutil Comando gcloud compute
gcutil … \
--image=projects/project-id/global/images/image
gcloud compute … --image image-name \
       --image-project image-project
Notas

Consulta Iniciar una instancia a partir de una imagen.

Comando gcutil Comando gcloud compute
gcutil deleteinstances --[no]delete_pd
gcutil deleteinstances --[no]delete_boot_pd
gcloud compute instances delete … \
       --delete-disks {all,none,boot}
gcloud compute instances delete … \
       --keep-disks {all,none,boot}
Notas

Si un disco está marcado para eliminarse automáticamente, se eliminará automáticamente a menos que se especifique mediante la marca --keep-disks.

Configuración de la instancia predeterminada

Ahora, al crear una instancia en gcloud compute, se proporcionan varios valores predeterminados para la imagen y el tipo de máquina de tu máquina virtual. Puede usar estos valores predeterminados omitiendo las marcas --image y --machine-type, o bien puede anular la configuración proporcionando las marcas adecuadas. La configuración predeterminada de la máquina virtual es la siguiente:

  • Imagen predeterminada: la imagen más reciente de Debian 10
  • Tipo de máquina predeterminado: n1-standard-1

Por ejemplo, puedes ejecutar lo siguiente:

gcloud compute instances create example-instance --zone us-central1-a

gcloud compute creará la instancia con la imagen y el tipo de máquina descritos anteriormente.

Formato de salida

El formato de salida predeterminado ha cambiado y varía en función del comando que ejecutes. Por ejemplo, si ejecutas el comando describe para obtener información sobre un solo recurso, la salida de la respuesta estará en formato YAML. Puedes devolver la respuesta en diferentes formatos de salida, como JSON o texto, con la marca --format:

gcloud compute instances list --format {json,yaml,text}

Ahora, la actualización de metadatos es aditiva

Cuando configures o actualices los metadatos, ya no tendrás que proporcionar una huella digital. De forma predeterminada, todos los cambios en los metadatos se consideran aditivos. Puedes añadir entradas de metadatos individuales o actualizar entradas sin tener que realizar una actualización por lotes de todos los metadatos. Solo se modificarán las claves de metadatos que se hayan proporcionado.

gcloud compute instances add-metadata example-instance \
         --metadata cookies=chocolate

Especificar proyectos de imagen

Antes, para especificar una imagen exacta, debías proporcionar un URI de imagen parcial que incluyera el nombre del proyecto, como este:

gcutil addinstance example-instance \
         --image=projects/debian-cloud/global/images/debian-9

En gcloud compute, ahora debes especificar el proyecto de imagen con una nueva marca --image-project:

gcloud compute instances create example-instance \
         --image debian-9-stretch-vYYYMMDD
         --image-project debian-cloud

También puedes proporcionar el URI completo:

gcloud compute instances create example-instance \
         --image https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-vYYYMMDD