Hola, Cloud Run
- Descripción general
- Configuración y requisitos
- Tarea 1. Habilita la API de Cloud Run y configura tu entorno de shell
- Tarea 2. Escribe la aplicación de ejemplo
- Tarea 3. Aloja tu app en contenedores y súbela a Artifact Registry
- Tarea 4. Implementa en Cloud Run
- Tarea 5. Realiza una limpieza
- Finalice su lab
- ¡Felicitaciones!
Descripción general
Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores sin estado que se pueden invocar a través de solicitudes HTTP. Cloud Run es una plataforma sin servidores que quita la complejidad de la administración de la infraestructura para que puedas enfocarte en lo que más importa: compilar aplicaciones extraordinarias.
Cloud Run se basa en Knative, por lo que puedes ejecutar tus contenedores completamente administrados con Cloud Run o en el clúster de Google Kubernetes Engine con Cloud Run en GKE.
El objetivo de este lab es que crees una imagen de aplicación sencilla alojada en contenedores y la implementes en Cloud Run.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
- Habilitar la API de Cloud Run
- Crear una aplicación sencilla de Node.js que se pueda implementar como un contenedor sin servidores ni estado
- Alojar tu aplicación en contenedores y subirla a Artifact Registry
- Implementar una aplicación alojada en contenedores en Cloud Run
- Borrar las imágenes innecesarias para evitar generar cobros de almacenamiento adicionales
Configuración y requisitos
En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta. -
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}} También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}} También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales. -
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Activa Google Cloud Shell
Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.
-
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
- Puedes solicitar el nombre de la cuenta activa con este comando:
Resultado:
Resultado de ejemplo:
- Puedes solicitar el ID del proyecto con este comando:
Resultado:
Resultado de ejemplo:
Referencia
Comandos básicos de Linux
A continuación, encontrará una lista de referencia con algunos comandos muy básicos de Linux que se pueden incluir en las instrucciones o los bloques de código de este lab.
Comando --> | Acción | . | Comando --> | Acción |
---|---|---|---|---|
mkdir (crear directorio) | crea una carpeta nueva | . | cd (cambiar directorio) | cambia la ubicación a otra carpeta |
ls (lista ) | enumera los archivos y las carpetas en la carpeta | . | cat (concatenar) | lee los contenidos de un archivo sin usar un editor |
apt-get update | actualiza la biblioteca del administrador de paquetes | . | ping | indicador para probar la accesibilidad de un host |
mv (mover ) | mueve un archivo | . | cp (copiar) | crea la copia de un archivo |
pwd (presentar directorio de trabajo ) | muestra su ubicación actual | . | sudo (superusuario hace) | otorga privilegios de administrador superiores |
Tarea 1. Habilita la API de Cloud Run y configura tu entorno de shell
- En Cloud Shell, habilita la API de Cloud Run:
- Si se te solicita autorizar el uso de tus credenciales, hazlo. Luego, deberías ver un mensaje que indica que la operación se realizó correctamente, como este:
- Establece la región de procesamiento:
- Crea una variable de entorno LOCATION:
Tarea 2. Escribe la aplicación de ejemplo
En esta tarea, compilarás una aplicación sencilla de Node.js basada en Express que responda ante las solicitudes HTTP.
- En Cloud Shell, crea un nuevo directorio llamado
helloworld
y, luego, ve a él en la vista:
-
A continuación, crearás y editarás archivos. Para editar archivos, haz clic en el botón Abrir editor en Cloud Shell para utilizar
nano
o el editor de código de Cloud Shell. -
Crea un archivo
package.json
y agrégale el siguiente contenido:
Lo más importante es que el archivo anterior contiene una secuencia de comandos de inicio y una dependencia del framework de aplicaciones web Express.
-
Presiona CTRL + X, luego, Y y, después, Intro para guardar el archivo
package.json
. -
A continuación, en el mismo directorio, crea un archivo
index.js
y cópiale las siguientes líneas:
Con este código, se crea un servidor web básico que escucha en el puerto definido por la variable de entorno PORT
. Ahora, la app está terminada y lista para alojarla en contenedores y subirla a Artifact Registry.
- Presiona CTRL + X, luego, Y y, después, Intro para guardar el archivo
index.js
Tarea 3. Aloja tu app en contenedores y súbela a Artifact Registry
- Para alojar la app de ejemplo en contenedores, crea un nuevo archivo denominado
Dockerfile
en el mismo directorio que los archivos fuente y agrega el siguiente contenido:
-
Presiona CTRL+X, luego, Y y, después, Intro para guardar el archivo
Dockerfile
. -
Usa Cloud Build para compilar la imagen de contenedor. Para ello, ejecuta el siguiente comando desde el directorio que contiene el
Dockerfile
(fíjate en la variable de entorno $GOOGLE_CLOUD_PROJECT del comando, que contiene el ID del proyecto del lab):
Cloud Build es un servicio que ejecuta tus compilaciones en Google Cloud. Ejecuta una serie de pasos de compilación, cada uno en un contenedor de Docker, para producir tu contenedor de aplicaciones (o demás artefactos) y enviarlo a Artifact Registry, todo en un solo comando.
Una vez enviado al registro, verás un mensaje de éxito que contiene el nombre de la imagen (gcr.io/[ID-DEL-PROYECTO]/helloworld
). La imagen se almacena en Artifact Registry y puede volver a usarse si así se desea.
- Obtén una lista de todas las imágenes de contenedores asociadas a tu proyecto actual con el siguiente comando:
- Registra
gcloud
como auxiliar de credenciales para todos los registros de Docker compatibles con Google:
- Para ejecutar y probar la aplicación de manera local desde Cloud Shell, iníciala con el siguiente comando estándar de
docker
:
- En la ventana de Cloud Shell, haz clic en Vista previa en la Web y selecciona Vista previa en el puerto 8080.
Debería abrirse una ventana del navegador con el mensaje “Hello World!”. También puedes usar curl localhost:8080
.
Tarea 4. Implementa en Cloud Run
- Para implementar tu aplicación alojada en contenedores en Cloud Run, usa el siguiente comando y agrega el ID de tu proyecto:
La marca allow-unauthenticated del comando anterior permite acceder de forma pública a tu servicio.
- Cuando se te solicite, presiona Intro para confirmar el
service name
.
Espera un momento a que finalice la implementación.
Si la operación es exitosa, la línea de comandos mostrará la URL de servicio:
Ahora puedes abrir la URL de servicio en cualquier ventana del navegador para visitar el contenedor implementado.
¡Felicitaciones! Acabas de implementar una aplicación empaquetada en una imagen de contenedor en Cloud Run. Cloud Run escala la imagen del contenedor automáticamente y de forma horizontal para controlar las solicitudes que se reciben y, luego, reduce la escala cuando disminuye la demanda. En tu propio entorno, solo debes pagar por la CPU, la memoria y las herramientas de redes que hayas consumido durante la administración de solicitudes.
En este lab, usaste la línea de comandos de gcloud
. Cloud Run también está disponible a través de la consola de Cloud.
- En el menú de navegación, en la sección Sin servidores, haz clic en Cloud Run y deberías ver el servicio
helloworld
:
Tarea 5. Realiza una limpieza
Si bien Cloud Run no cobra cuando el servicio no se usa, es posible que se te cobre por el almacenamiento de la imagen del contenedor compilada.
- Para evitar esto, puedes borrar el proyecto de Google Cloud, lo que detendrá la facturación de todos los recursos usados en ese proyecto, o puedes borrar la imagen de
helloworld
con el siguiente comando:
-
Cuando se te solicite continuar, escribe
Y
y presiona Intro. -
Para borrar el servicio de Cloud Run, usa el siguiente comando:
- Cuando se te solicite continuar, escribe
Y
y presiona Intro.
Finalice su lab
Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.
Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.
La cantidad de estrellas indica lo siguiente:
- 1 estrella = Muy insatisfecho
- 2 estrellas = Insatisfecho
- 3 estrellas = Neutral
- 4 estrellas = Satisfecho
- 5 estrellas = Muy satisfecho
Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.
¡Felicitaciones!
Completaste este lab.
Próximos pasos/Más información
Si quieres obtener más información para compilar un contenedor HTTP sin estado adecuado para Cloud Run a partir de código fuente y enviarlo a Artifact Registry, consulta estas páginas:
Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.