Sugerencias de uso de gcloud compute

En esta página, se ofrecen sugerencias que pueden ser útiles cuando usas la herramienta de línea de comandos de gcloud para administrar tus recursos de Compute Engine. Para obtener una lista completa de todos los marcadores y comandos de gcloud compute disponibles, puedes usar la ayuda integrada del comando (--help), la documentación de referencia publicada o la documentación de gcloud core.

Antes de comenzar

Recupera información sobre recursos

Puedes recuperar información sobre los recursos de Compute Engine de dos maneras: con el comando list a fin de que muestre una lista de recursos y con el comando describe a fin de que muestre detalles sobre un recurso específico.

Recupera recursos con comandos list

Los comandos list están diseñados a fin de mostrar una tabla legible de los datos más relevantes para los recursos solicitados. De manera opcional, puedes filtrar tus resultados para ver una lista más corta con resultados más relevantes.

Filtrado de expresiones regulares para nombres
Puedes usar la sintaxis RE2 para hacer coincidir los nombres de los recursos (por ejemplo, nombres de instancia o de disco). Consulta la lista de instancias de gcloud compute.
Marcadores del comando
--limit

La cantidad máxima de resultados que se mostrarán. Este marcador es particularmente útil cuando se usa con el marcador --sort-by descrito en la sección Recupera recursos con comandos describe.

--sort-by SORT_BY

Un campo para ordenar, si corresponde. Para aplicar un orden descendente, prefija el valor con una virgulilla (“~”).

Recupera recursos con comandos describe

Los comandos describe están diseñados para mostrar datos sobre un recurso. Debes proporcionar el nombre del recurso en el comando describe. Si no puedes recordar el nombre del recurso, puedes ejecutar un comando list para obtener una lista de recursos. Por ejemplo, los siguientes dos comandos ilustran una situación en la que puedes enumerar imágenes para obtener el nombre de una imagen y su proyecto asociado, de modo que puedas proporcionarlos como entradas para un comando describe:

gcloud compute images list
NAME                                PROJECT        FAMILY     DEPRECATED STATUS
...
centos-7-v20170620                  centos-cloud   centos-7              READY
...
debian-9-stretch-v20170619          debian-cloud   debian-9              READY
...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud

El resultado predeterminado de los comandos describe es el formato YAML, pero puedes usar el marcador --format para elegir entre JSON, YAML y los formatos de resultados de texto. El resultado con formato JSON puede ser útil si estás analizando el resultado, mientras que el resultado con formato de texto coloca cada propiedad en una línea separada.

gcloud compute regions describe us-central1 --format json
{
  "creationTimestamp": "2013-09-06T10:36:54.847-07:00",
  "description": "us-central1",
  "id": "6837843067389011605",
  "kind": "compute#region",
  "name": "us-central1",
  ...
  "status": "UP",
  "zones": [
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a",
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b",
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f"
  ]
}

Ejemplos

Ejemplos de comandos list

Cuando generas la lista de recursos, obtienes una tabla fácil de leer de los datos resumidos. Por ejemplo, para ver datos resumidos sobre instancias en tu proyecto, usa el comando instances list:

gcloud compute instances list
NAME               ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
example-instance   asia-east1-b  n1-standard-1 10.240.95.199  107.167.182.44  RUNNING
example-instance2  us-central1-a n1-standard-1 10.240.173.254 23.251.148.121  RUNNING
test-instance      us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Puedes filtrar los resultados de los comandos list con expresiones regulares si incluyes el marcador --filter con un operador de key ~ value. Por ejemplo, filtra la lista de instancias para incluir solo las instancias con la palabra “test” en el nombre de la instancia:

gcloud compute instances list --filter="name ~ .*test.*"
NAME           ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
test-instance  us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Para ver una lista de operaciones de zona que tienen un status de DONE y que no tienen un httpStatus de 200, aplica un filtro de zone en un comando operations list, luego grep los resultados:

gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep 200
NAME                                                    HTTP_STATUS TYPE   TARGET                               STATUS
operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400         delete us-central1-a/disks/example-instance DONE
operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409         insert us-central1-a/instances/i-1          DONE
operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409         insert us-central1-a/instances/i-2          DONE

Para obtener una lista de discos en us-central1-a, aplica un orden descendente por nombre (--sort-by ~NAME), usa un comando disks list:

gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"

En algunas situaciones, es posible que desees tener el vínculo URI completo hacia el recurso, como las solicitudes en las que pasas el resultado de un comando list a otro comando o aplicación que toma una lista de vínculos a recursos. Para mostrar vínculos URI completos a recursos, usa el marcador --uri con un comando list.

gcloud compute instances list --uri --filter="name~'^example-.*'"
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2

Para usar el resultado del comando list anterior dentro de un comando que borra instancias, aplica el siguiente código:

gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")

Ejemplos de comandos describe

Para obtener detalles sobre una sola instancia, especifica la instancia, incluida la zona. Por ejemplo, para ver información sobre la instancia denominada “example-instance” en la zona “asia-east1-b”, puedes usar el comando instances describe:

gcloud compute instances describe example-instance --zone asia-east1-b

De manera predeterminada, esto muestra un resultado en formato YAML. Para cambiar el resultado a formato JSON o a texto (una propiedad por línea), usa el marcador --format. Por ejemplo, a fin de ver un resultado en formato de texto para la misma instancia, usa el siguiente código:

gcloud compute instances describe example-instance --zone asia-east1-b --format text
---
canIpForward:                                False
creationTimestamp:                           2014-04-19T06:43:04.087-07:00
disks[0].autoDelete:                         False
disks[0].boot:                               True
disks[0].deviceName:                         example-instance
...

A fin de obtener detalles sobre una operación específica, usa el comando operations list para encontrar el URI completamente calificado de la operación:

gcloud compute operations list --filter="zone:(us-central1-a)"
NAME                                                    TYPE   TARGET                                      HTTP_STATUS STATUS
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance    200         DONE
operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2  200         DONE
...

Luego, usa el URI en un comando operations describe:

gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00'
id: '31755455923038965'
insertTime: '2014-07-23T15:39:25.910-07:00'
kind: compute#operation
name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0
operationType: delete
progress: 100
...

El siguiente comando obtiene la configuración de la instancia en formato JSON (--format json).

gcloud compute instances describe example-instance \
    --zone us-central1-a
    --format json
{
   ...
   "name": "example-instance",
   "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "kind": "compute#accessConfig",
          "name": "external-nat",
          "natIP": "107.167.187.66",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "name": "nic0",
      "network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default",
      "networkIP": "10.240.111.51"
    }
   ],
   ...
   "status": "RUNNING"
   ...
}

Comprueba en qué usuario estás autorizado

Usa el siguiente comando a fin de averiguar en qué cuenta estás autorizado:

gcloud auth list

Revoca un token de actualización

Para revocar las credenciales de una cuenta en la máquina en la que estás utilizando SDK de Cloud, usa el siguiente comando:

gcloud auth revoke

Esto te obligará a volver a autenticarte con el comando gcloud init.

También puedes revocar el permiso para que SDK de Cloud acceda a tus recursos. Por ejemplo, puedes hacerlo si tus tokens de actualización están en peligro. Para revocar el permiso de SDK de Cloud, realiza los siguientes pasos:

  1. Inicia sesión en la página de tu Cuenta de Google.
  2. Haz clic en Seguridad y, luego, en Ver todo en la sección Permisos de cuenta.
  3. Selecciona SDK de Google Cloud y haz clic en Revocar acceso.

Reinicia una instancia

Para restablecer una instancia denominada “example-instance” en la zona “us-central1-a”, usa el comando instances reset:

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

Para obtener información acerca de las consecuencias de restablecer una instancia, lee la documentación sobre cómo restablecer una instancia.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine