Pasa de gcutil a gcloud compute


Con gcloud compute en disponibilidad general, se recomienda que todos los usuarios realicen una transición a la herramienta gcloud compute desde gcutil en Compute Engine. gcloud compute es una herramienta de línea de comandos unificada que cuenta con una serie de mejoras con respecto a gcutil, incluidas las siguientes:

  • Autocompletado de pestañas
  • Actualización local
  • Ayuda amplia con estilo de página man
  • Diferentes formatos de resultado

Para ayudar a los usuarios a realizar la transición de gcutil a gcloud compute, en esta guía, se describen brevemente los cambios principales entre las dos herramientas. gcloud compute.

Nuevos comandos de gcloud

Todos los comandos gcutil existentes tienen comandos equivalentes en la herramienta gcloud compute, con algunas excepciones. Puedes obtener una lista completa de los comandos gcloud si visitas las páginas de referencia o si ejecutas gcloud compute --help. En la siguiente tabla, se describen con brevedad los cambios de los comandos populares gcutil.

comando de gcutil comando de gcloud compute
gcutil addinstance INSTANCE
gcloud compute instances create INSTANCE
Notas

Crea una instancia.

  • Se puede configurar la zona o región predeterminada; de lo contrario, “gcloud compute” solicita una zona o región.
  • Crea máquinas virtuales con propiedades predeterminadas, como las siguientes:
    • machine-type: n1-standard-1
    • image: debian-10

Consulta Crea e inicia una instancia.

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

Borra instancias. Consulta Borra una instancia.

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

Establece los valores predeterminados para el proyecto, la zona y la región. Consulta Configura una zona y una región predeterminadas.

comando de gcutil comando de gcloud compute
gcutil push/pull
gcloud compute scp
Notas

Copia archivos entre una computadora local y una máquina virtual. Consulta la sección sobre cómo transferir archivos mediante Google Cloud CLI.

comando de gcutil comando de gcloud compute
gcutil deleteRESOURCE
gcloud compute RESOURCES delete
Notas

Borra recursos, como en el siguiente ejemplo:

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

Describe un recurso único, como en el siguiente ejemplo:

gcloud compute instances describe example-instance

comando de gcutil comando de gcloud compute
gcutil listRESOURCES
gcloud compute RESOURCES list
Notas

Enumera todos los recursos de ese tipo. Como en el siguiente ejemplo, para enumerar instancias:

gcloud compute instances list

comando de gcutil comando de 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

Ahora, la herramienta realiza un bloqueo optimista, por lo que no es necesario especificar una huella digital manualmente. Consulta Configura metadatos de instancia personalizados.

comando de gcutil comando de gcloud compute
gcutil … --dump_request_response

Aún no está disponible.

comando de gcutil comando de gcloud compute
gcutil … --log_level=DEBUG
gcloud … --verbosity debug
Notas

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

comando de gcutil comando de gcloud compute
gcutil ssh INSTANCE --ssh_user
gcloud compute ssh USER@INSTANCE
Notas

Consulta Conéctate a una instancia.

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

Consulta Inicia una instancia desde una imagen.

comando de gcutil comando de 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 se marca un disco para que se borre de forma automática, lo hará, a menos que se especifique lo contrario mediante la marca --keep-disks.

Configuración predeterminada de la instancia

Crear una instancia en gcloud compute ahora tiene varios valores predeterminados proporcionados para la imagen y el tipo de máquina de tu máquina virtual. Puedes optar por usar estos valores predeterminados si omites las marcas --image y --machine-type, o puedes anular la configuración si proporcionas las marcas apropiadas. La configuración predeterminada de la máquina virtual es la que se muestra a continuación:

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

Como en el siguiente ejemplo, solo ejecuta:

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

El gcloud compute creará la instancia mediante la imagen y el tipo de máquina ya descritos.

Formato de resultado

El formato predeterminado de resultado cambió y difiere según el comando que ejecutes. Por ejemplo, si ejecutas el comando describe para obtener información sobre un solo recurso, el resultado de respuesta tendrá el formato YAML. Puedes mostrar la respuesta en diferentes formatos de salida, como JSON o texto, mediante la marca --format:

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

La actualización de metadatos ahora es aditiva

Cuando configuras o actualizas metadatos, ya no es necesario que proporciones una huella digital. Por la configuración predeterminada, todos los cambios de metadatos se consideran aditivos. Puedes agregar entradas de metadatos individuales o actualizar entradas sin realizar una actualización por lotes de todos los metadatos. Solo se cambiarán las claves de metadatos que se pasen.

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

Especifica proyectos de imagen

Antes, para especificar una imagen exacta, debías proporcionar un URI de imagen parcial, que incluía el nombre del proyecto de la siguiente manera:

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

En gcloud compute, ahora debes especificar el proyecto de imagen mediante 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