lunes, 12 de marzo de 2018

El CLI ahora en interactivo en google cloud

Hoy en google cloud en español os presentamos una nueva capacidad del entorno CLI de Google cloud.



Si creas aplicaciones en Google Cloud Platform (GCP), a línea de comando de GCP tiene que ser tu amiga. Pero a medida que crecemos nuestros servicios de BPC, la cantidad de comandos  crece a pasos agigantados. Pero hay nueva interfaz de línea de comandos (CLI) que le permite descubrir y usar todos estos comandos de manera más eficiente: gcloud interactive.

Google Cloud SDK ofrece una variedad de herramientas de línea de comandos para interactuar con google cloud platform:

  • gcloud: CLI principal de GCP
  • gsutil - CLI para interactuar con Google Cloud Storage
  • bq - CLI para interactuar con Google BigQuery
  • kubectl - CLI de Kubernetes Engine


Actualmente en alfa pública, el nuevo entorno CLI interactivo proporciona indicaciones automáticas y ayuda en línea para los comandos gcloud, gsutil, bq y kubectl. Ya nos podemos ahorrar, ya  medida que busca nombres de comando, indicadores necesarios o tipos de argumentos en las páginas de ayuda. ¡Ahora toda esta información se incluye como parte del entorno interactivo mientras escribe!


El entorno interactivo también admite funciones bash estándar como:
  • Entremezclando gcloud y comandos bash estándar
  • Ejecutar comandos como cd y pwd, y establecer / usar variables de shell en ejecuciones de comandos
  • Ejecutando y controlando procesos en segundo plano
  • TAB-completar variables de shell, y mucho más!


Por ejemplo, puede asignar el resultado del comando a una variable y luego llamar a esta variable como una entrada a un comando diferente:


$ active_vms=$(gcloud compute instances list --format="value(NAME)" --filter="STATUS=RUNNING")
$ echo $active_vms



También puede crear y ejecutar scripts bash mientras se encuentra en el entorno interactivo.


Por ejemplo, la siguiente secuencia de comandos itera todas las instancias de cálculo y reinicia las que han sido TERMINADAS.


#!/bin/bash
terminated_vms=$(gcloud compute instances list --format="value(NAME)" --filter="STATUS=terminated")
for name in $terminated_vms
do
  echo "Instance $name will restart."
  zone=$(gcloud compute instances list --format="value(ZONE)" --filter="NAME=$name")
  gcloud compute instances start $name --zone $zone 
done







Comenzando con gcloud interactivo

Una vez que haya instalado Google Cloud SDK, siga adelante y pruebe gcloud interactive: (si aún no lo ha instalado, puede ver las instrucciones en este enlace)

1. Asegúrese de que los componentes de su SDK estén actualizados.

$ gcloud components update


2. Instala el componente alpha de gcloud.

$ gcloud components install alpha



3. Comience gcloud interactivo

$ gcloud alpha interactive



[Opcional] Habilite el modo interactivo para gsutil, bq y kubectl (está habilitado para gcloud de manera predeterminada.) Tenga en cuenta que esto puede tardar unos minutos en completarse, pero solo necesita ejecutar este comando una vez.

$ gcloud alpha interactive --update-cli-trees


Trucos:


  • Cuando desee obtener más información sobre el comando actual que escribió, presione F8 para abrir la página de referencia en el navegador.
  • Puede establecer el contexto de solicitud en cualquier grupo de comandos. Esto es útil si trabaja principalmente con ciertos grupos de comandos y le ahorra tener que escribir el comando completo cada vez. Puede hacer esto escribiendo el grupo de comando y presionando F7.
  • Active y desactive el área de ayuda interactiva con la tecla F2.

  • Use la tecla F3 para alternar el modo de edición de línea de comando entre emacs y vi.

Haga clic aquí para obtener más información acerca de gcloud interactive, y comente qué piensa utilizando el comando gcloud feedback.