Instructivo de Cloud Run Starter

1. Descripción general

Cloud Run es una plataforma sin servidores completamente 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.

Se basa en Knative, lo que te permite ejecutar tus contenedores completamente administrados con Cloud Run o en el clúster de Google Kubernetes Engine con Cloud Run en GKE.

Qué aprenderás

En este lab, aprenderás a realizar las siguientes tareas:

  • Implementa la aplicación de Cloud Run

Requisitos previos

  • Para este lab, se da por sentado que el usuario tiene conocimientos previos sobre los entornos de la consola de Cloud y Cloud Shell.

2. Configuración y requisitos

Configuración del proyecto de Cloud

  1. Accede a Google Cloud Console y crea un proyecto nuevo o reutiliza uno existente. Si aún no tienes una cuenta de Gmail o de Google Workspace, debes crear una.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • El Nombre del proyecto es el nombre visible de los participantes de este proyecto. Es una cadena de caracteres que no se utiliza en las APIs de Google. Puedes actualizarla en cualquier momento.
  • El ID del proyecto es único en todos los proyectos de Google Cloud y es inmutable (no se puede cambiar después de configurarlo). La consola de Cloud genera automáticamente una cadena única. por lo general, no te importa qué es. En la mayoría de los codelabs, deberás hacer referencia al ID del proyecto (por lo general, se identifica como PROJECT_ID). Si no te gusta el ID generado, puedes generar otro aleatorio. También puedes probar el tuyo propio y ver si está disponible. No se puede cambiar después de este paso y se mantendrá mientras dure el proyecto.
  • Para tu información, hay un tercer valor, un número de proyecto que usan algunas APIs. Obtén más información sobre estos tres valores en la documentación.
  1. A continuación, deberás habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no debería costar mucho, tal vez nada. Para cerrar recursos y evitar que se te facture más allá de este instructivo, puedes borrar los recursos que creaste o borrar todo el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa Prueba gratuita de USD 300.

Configuración del entorno

Para activar Cloud Shell, haz clic en el ícono que se encuentra a la derecha de la barra de búsqueda.

ecdc43ada29e91b.png

En Cloud Shell, habilita la API de Cloud Run:

gcloud services enable run.googleapis.com

Si se te solicita que autorices, haz clic en “Autorizar”. para continuar.

6356559df3eccdda.png

Si se realizó correctamente, se mostrará un mensaje similar a este:

Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.

3. Preparar aplicación

Primero, prepararás una aplicación sencilla de Node.js basada en Express que responda a las solicitudes HTTP.

En Cloud Shell, crea un directorio nuevo llamado starter-nodejs y, luego, cambia a ese directorio:

mkdir starter-nodejs
cd starter-nodejs

Para crear un archivo package.json, ejecuta los siguientes comandos:

cat > ./package.json << EOF
{
  "name": "cloudrun-starter-app",
  "version": "1.0.0",
  "description": "Node.js Starter Application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "",
  "license": "Apache-2.0",
  "dependencies": {
    "express": "^4.18.2"
  }
}
EOF

El archivo anterior contiene una secuencia de comandos de inicio y una dependencia del framework de aplicaciones web Express.

A continuación, en el mismo directorio, crea un archivo index.js ejecutando los siguientes comandos:

cat > ./index.js << EOF
const express = require('express');
const app = express();

app.get('/', (req, res) => {
  console.log('Received a request.');
  res.send("Hello Cloud Run!");
});

const port = process.env.PORT || 8080;

app.listen(port, () => {
  console.log('Listening on port', port);
});
EOF

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 implementarse en contenedores y poder implementarse.

4. Implementa la aplicación de Cloud Run

Ejecuta el siguiente comando para implementar tu aplicación:

gcloud run deploy starter-app \
  --source . \
  --region us-central1 \
  --allow-unauthenticated \
  --max-instances=3

Confirma la creación del repositorio de Artifact Registry:

Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created.

Do you want to continue (Y/n)? y

Como resultado del comando anterior, se ejecutarán los siguientes pasos:

d661616f9b2fffcf.png

Explora el resultado de estos pasos en la consola de Cloud: Cloud Build, Cloud Storage, Artifact Registry y Cloud Run.

f536961280192919.png

5. ¡Felicitaciones!

¡Felicitaciones! Acabas de implementar una aplicación en Cloud Run.

Temas abordados:

  • Cómo implementar una aplicación de partida en Cloud Run

¿Qué sigue?

Explora otros codelabs de Cymbal Eats:

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra el proyecto

La manera más fácil de eliminar la facturación es borrar el proyecto que creaste para el instructivo.