Implementa una app de Cloud Run con Cloud Shell
Para comenzar a usar Cloud Run, puedes implementar una aplicación de Hello World de muestra y, luego, inspeccionar los recursos de tu servicio en vivo. En esta guía de inicio rápido, usarás Cloud Shell para configurar un servicio de Cloud Run y ver sus registros.
Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Roles obligatorios
Para obtener los permisos que necesitas para implementar una app de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
- Administrador de Cloud Run (
roles/run.admin) - Desarrollador de origen de Cloud Run (
roles/run.sourceDeveloper) - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) - Administrador de Service Usage ()
roles/serviceusage.serviceUsageAdmin - Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin) - Visor de registros (
roles/logging.viewer)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Otorga acceso a la cuenta de servicio de Cloud Build a tu proyecto
Cloud Build usa automáticamente la cuenta de servicio predeterminada de Compute Engine como la cuenta de servicio predeterminada de Cloud Build para compilar tu código fuente y el recurso de Cloud Run, a menos que anules este comportamiento.
Para que Cloud Build compile tus fuentes, otorga a la cuenta de servicio de Cloud Build
el rol de Compilador de Cloud Run
(roles/run.builder) en tu proyecto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Reemplaza PROJECT_ID por el ID del proyecto de Google Cloud
y SERVICE_ACCOUNT_EMAIL_ADDRESS por la
dirección de correo electrónico de la cuenta de servicio de Cloud Build. Si usas la
cuenta de servicio predeterminada de Compute Engine como la cuenta de servicio de Cloud Build, usa
el siguiente formato para la dirección de correo electrónico de la cuenta de servicio:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Reemplaza PROJECT_NUMBER por el número
del proyecto de Google Cloud.
Para obtener instrucciones detalladas sobre cómo encontrar el ID del proyecto y el número del proyecto, consulta Crea y administra proyectos.
El otorgamiento del rol de creador de Cloud Run tarda un par de minutos en propagarse.
Crea una aplicación
- Inicia el editor de Cloud Shell
- En la barra de estado de Cloud Code, selecciona New Application (Nueva aplicación).
- Selecciona Cloud Run application (Aplicación de Cloud Run) como tu tipo de aplicación preferido.
Elige una app de Hello World de la lista de aplicaciones de ejemplo (Node.js, Python con frameworks de Flask y Django, Java y Go).
Por ejemplo, si eliges
Python (Flask): Hello World, se crea una app de Hello World de Python (Flask) inicial.Selecciona una carpeta como tu ubicación de aplicación y haz clic en Create New Application.
El editor de Cloud Shell carga la aplicación en un lugar de trabajo nuevo. Después de que se cargue el lugar de trabajo, se podrá acceder a la app en la vista del explorador.
Implementa en Cloud Run
Para implementar tu aplicación en Cloud Run, sigue estos pasos:
- Abre la paleta de comandos (presiona
Ctrl/Cmd+Shift+Po haz clic en Ver > Paleta de comandos) y, luego, ejecuta el comando Implementar en Cloud Run. Esto abrirá la IU de implementación de Cloud Run. - Si se te solicita, autoriza a Cloud Code para que realice llamadas a la API de Google Cloud .
- Configura tu proyecto de Google Cloud .
- Si se te solicita, haz clic en Habilitar las APIs para habilitar la API de Cloud Run.
- En el cuadro de diálogo Implementar en Cloud Run, selecciona un servicio preexistente o crea uno nuevo.
- Si creas un servicio nuevo, elige Cloud Run (fully managed) (Cloud Run (completamente administrado)) en “'Deployment Platform” (Plataforma de implementación).
- Elige una región para realizar la implementación.
- En Autenticación, selecciona Permitir invocaciones no autenticadas para que sea un servicio público.
Después de definir los parámetros de configuración que desees, puedes hacer clic en Deploy (Implementar).
Luego, Cloud Code compila tu imagen, la envía al registro y, por último, implementa la app en Cloud Run. El servicio ya está activo.
Para ver el servicio en ejecución, sigue la URL que se muestra en el diálogo Cloud Run: Deploy.
Edita el servicio
Para implementar la aplicación, sigue estos pasos:
- Con la vista Explorer, busca el archivo
app.pyque implementa el comportamiento del servicio. - Cambia el mensaje "It's running!" por uno de tu elección.
- Después de realizar este cambio, elige el comando Implementar en Cloud Run con la paleta de comandos.
- Verifica que el servicio que acabas de crear esté seleccionado en Configuración del servicio.
- Haga clic en Implementar.
- Una vez que se complete la compilación y la implementación de la aplicación, puedes actualizar el servicio para ver el mensaje actualizado.
Ver registros
También puedes ver los registros de tu aplicación implementada con el visor de registros que incluye Cloud Code.
Para ver los registros, sigue estos pasos:
- Haz clic en
Cloud
Code y, luego, expande la sección Cloud Run. Haz clic con el botón derecho en el servicio de Cloud Run y, luego, en Ver registros.
Para actualizar la app en el navegador y ver los registros nuevos generados, haz clic en el botón Logs refresh.
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
Para borrar tu clúster, realiza los siguientes pasos:
Ve a la página Proyectos en la consola de Google Cloud :
Selecciona el proyecto que creaste para esta guía de inicio rápido y haz clic en Borrar.
Esta acción cierra el proyecto y programa su eliminación.
Si usas un proyecto preexistente y deseas borrar los recursos que creaste para esta guía de inicio rápido, haz lo siguiente:
Imagen de contenedor: Si bien Cloud Run no cobra cuando un servicio no está en uso, es posible que se te cobre por el almacenamiento de la imagen de contenedor en Artifact Registry. Para borrar la imagen, abre la página de Artifact Registry, selecciona el repositorio que contiene la imagen, selecciona la imagen, haz clic en Borrar y, luego, en Borrar.
Servicio de Cloud Run: Para borrar un servicio de Cloud Run, en la página de Cloud Run de la consola deGoogle Cloud , selecciona el servicio que quieres borrar, haz clic en Borrar y, luego, en Borrar.
¿Qué sigue?
- Descubre la variedad de funciones que ofrece la interfaz del Editor de Cloud Shell.
- Obtén información para configurar Cloud Shell y personalizar tu experiencia.