Instrucciones y requisitos de configuración del lab
Protege tu cuenta y tu progreso. Usa siempre una ventana de navegador privada y las credenciales del lab para ejecutarlo.

Desarrollo de aplicaciones: Cómo implementar la aplicación en Kubernetes Engine - Python

Lab 2 horas universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Este contenido aún no está optimizado para dispositivos móviles.
Para obtener la mejor experiencia, visítanos en una computadora de escritorio con un vínculo que te enviaremos por correo electrónico.

Descripción general

Google Kubernetes Engine proporciona un entorno administrado para implementar, administrar y escalar tus aplicaciones en contenedores con la infraestructura de Google. El entorno que proporciona Kubernetes Engine consta de varias máquinas (específicamente, instancias de Google Compute Engine) que se agrupan para formar un clúster.

Kubernetes proporciona los mecanismos a través de los cuales interactúa con tu clúster. Los comandos y recursos de Kubernetes se usan para implementar y administrar aplicaciones, realizar tareas administrativas, establecer políticas y supervisar el estado de las cargas de trabajo implementadas.

En este lab, implementarás la aplicación Quiz en Kubernetes Engine. Para ello, aprovecharás recursos de Google Cloud, como Cloud Build y Container Registry, y recursos de Kubernetes, como Deployments, Pods y Services.

Objetivos

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

  • Crear Dockerfiles para empaquetar el código frontend y backend de la aplicación Quiz para su implementación
  • Aprovechar Cloud Build para producir imágenes de Docker
  • Aprovisionar un clúster de Kubernetes Engine para alojar la aplicación Quiz
  • Utilizar Deployments de Kubernetes para aprovisionar Pods replicados en Kubernetes Engine
  • Aprovechar un Service de Kubernetes para aprovisionar un balanceador de cargas para el frontend de Quiz

Configuración y requisitos

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

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.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. 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:

ID del proyecto destacado en la terminal de Cloud Shell

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:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Tarea 1. Prepara la aplicación Quiz

En esta sección, accederás a Cloud Shell, clonarás el repositorio de Git que contiene la aplicación Quiz, configurarás las variables de entorno y ejecutarás la aplicación.

Clona el código fuente en Cloud Shell

  1. Clona el repositorio para el lab:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Crea un vínculo simbólico como un acceso directo al directorio de trabajo:
ln -s ~/training-data-analyst/courses/developingapps/v1.3/python/kubernetesengine ~/kubernetesengine

Configura la aplicación Quiz

  1. Cambia al directorio que contenga los archivos de muestra de este lab:
cd ~/kubernetesengine/start
  1. Configura la aplicación Quiz:
. prepare_environment.sh

Este archivo de secuencia de comandos realiza lo siguiente:

  • Crea una aplicación de Google App Engine.
  • Exporta las variables de entorno GCLOUD_PROJECT y GCLOUD_BUCKET.
  • Crea un entorno virtualenv aislado de Python para Python 3 y lo activa.
  • Actualiza el sistema pip y ejecuta pip install -r requirements.txt.
  • Crea entidades en Google Cloud Datastore.
  • Crea un tema de Google Cloud Pub/Sub.
  • Crea una instancia, una base de datos y una tabla de Cloud Spanner.
  • Imprime el ID del proyecto de Google Cloud.

La aplicación Quiz se configurará cuando veas el siguiente mensaje:

Resultado de ejemplo:

Creating Cloud Pub/Sub topic Created topic [projects/qwiklabs-gcp-92b7e5716e0cbf7e/topics/feedback]. Created subscription [projects/qwiklabs-gcp-92b7e5716e0cbf7e/subscriptions/worker-subscription]. Creating Cloud Spanner Instance, Database, and Table Creating instance...done. Creating database...done. Project ID: qwiklabs-gcp-92b7e5716e0cbf7e

Tarea 2. Revisa el código

En esta sección examinarás los archivos de la aplicación.

Para ver y editar archivos, puedes usar los editores de shell instalados en Cloud Shell, como nano o vim, o el editor de código de Cloud Shell. Este lab usa el editor de código de Cloud Shell.

Inicia el editor de código de Cloud Shell

  • En Cloud Shell, haz clic en Abrir editor para iniciar el editor de código.

Ícono de Abrir editor

Examina el código

  • Dirígete a /kubernetesengine/start.

La estructura de carpetas de la aplicación Quiz refleja el modo en que se implementará en Kubernetes Engine.

La aplicación web está en una carpeta llamada frontend.

El código de la aplicación del trabajador que se subscribe a Cloud Pub/Sub y procesa los mensajes se encuentra en una carpeta llamada backend.

Hay archivos de configuración de Docker (un Dockerfile en las carpetas frontend y backend) y archivos .yaml de Kubernetes Engine para backend-deployment y para frontend-deployment.

Tarea 3. Crea un clúster de Kubernetes Engine y conéctate a él

Crea un clúster de Kubernetes Engine

  1. En la consola de Cloud, haz clic en el menú de navegación > Kubernetes Engine > Clústeres.

    Se muestra la ruta de navegación a la opción Clústeres

  2. Haz clic en Crear y, luego, en Configurar junto al modo de clúster Estándar.

  3. Configura el clúster. Establece los siguientes campos con los valores proporcionados, deja todos los demás con el valor predeterminado:

Property

Value

Name

quiz-cluster

Zone

us-central1-b

default-pool > Seguridad > Permisos de acceso

Selecciona Permitir el acceso total a todas las APIs de Cloud

  1. Haz clic en Crear. El clúster tardará unos minutos en aprovisionarse.

Conéctate al clúster

En esta sección, conectarás la aplicación Quiz al clúster de Kubernetes.

  1. Cuando el clúster esté listo, haz clic en el botón Acción (tres puntos verticales) y, luego, en Conectar.

  2. En Conéctate al clúster, haz clic en Ejecutar en Cloud Shell.

  3. Presiona Intro en Cloud Shell para ejecutar el comando prepropagado, que se parece a gcloud container clusters get-credentials quiz-cluster --zone us-central1-b --project [Project-ID].

  4. Ejecuta el siguiente comando para mostrar los Pods del clúster:

kubectl get pods

La respuesta debería ser No resources found porque no hay Pods en el clúster. Esto confirma que configuraste la seguridad de modo que la herramienta de línea de comandos kubectl realice operaciones para el clúster.

Tarea 4. Crea imágenes de Docker con Cloud Build

En esta sección, crearás un Dockerfile para el frontend y el backend de la aplicación y, luego, usarás Cloud Build para crear imágenes y almacenarlas en Container Registry.

Crea el Dockerfile para el frontend y el backend

  1. En el editor de código de Cloud Shell, abre frontend/Dockerfile. Ahora agregarás un bloque de código que hace lo siguiente:
  • Ingresa el comando de Dockerfile para inicializar la creación de una imagen de Docker personalizada con la imagen de Python App Engine de Google como punto de partida.
  • Escribe los comandos de Dockerfile para activar un entorno virtual.
  • Escribe el comando de Dockerfile para ejecutar pip install como parte del proceso de creación.
  • Escribe el comando de Dockerfile para agregar el contenido de la carpeta actual en la ruta /app dentro del contenedor.
  • Completa el documento Dockerfile. Para esto, ingresa la instrucción gunicorn ..., que se ejecuta junto con el contenedor. Gunicorn (Green Unicorn) es un servidor HTTP compatible con la especificación de interfaz de puerta de enlace del servidor web (WSGI) de Python.
  1. Copia y pega en Dockerfile lo que se muestra a continuación:
FROM gcr.io/google_appengine/python RUN virtualenv -p python3.7 /env ENV VIRTUAL_ENV /env ENV PATH /env/bin:$PATH ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt ADD . /app CMD gunicorn -b 0.0.0.0:$PORT quiz:app
  1. Abre el archivo backend/Dockerfile y, luego, copia y pega el código que se muestra a continuación:
FROM gcr.io/google_appengine/python RUN virtualenv -p python3.7 /env ENV VIRTUAL_ENV /env ENV PATH /env/bin:$PATH ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt ADD . /app CMD python -m quiz.console.worker

Crea imágenes de Docker con Cloud Build

  1. En Cloud Shell, asegúrate de que te encuentras en la carpeta start:
cd ~/kubernetesengine/start
  1. Para crear la imagen de Docker del frontend, ejecuta el comando que se muestra a continuación:
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-frontend ./frontend/

Los archivos se almacenan en etapa intermedia en Cloud Storage y se compila una imagen de Docker que se almacena en Container Registry. Esto lleva unos cuantos minutos.

  1. Ejecuta el siguiente comando para compilar la imagen de Docker de backend:
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-backend ./backend/

Cuando la imagen de Docker de backend esté lista, verás estos últimos mensajes:

DONE ----------------------------------------------------------------------------------------------------------------------- ID CREATE_TIME DURATION SOURCE IMAGES STATUS be0326f4-3f6f-42d6-850f-547e260dd4d7 2018-06-13T22:20:16+00:00 50S gs://qwiklabs-gcp-3f89d0745056ee31_cloudbuil d/source/1528928414.79-4914d2a972f74e188f40ced135662b7d.tgz gcr.io/qwiklabs-gcp-3f89d0745056ee31/quiz-backend (+1 more ) SUCCESS
  1. En la consola de Cloud, en el menú de navegación, haz clic en Container Registry. Deberías ver dos Pods: quiz-frontend y quiz-backend.

Se muestran los dos Pods en Container Registry

  1. Haz clic en quiz-frontend.
Nota: Deberías ver el nombre de la imagen (un hash) y las etiquetas (las más recientes).

El nombre y la etiqueta de quiz-frontend en la página Imágenes

Tarea 5. Crea recursos de implementación y servicio de Kubernetes

En esta sección, modificarás los archivos de plantilla yaml que contienen la especificación para los recursos de implementación y servicio de Kubernetes; luego, crearás los recursos en el clúster de Kubernetes Engine.

Crea un archivo de implementación de Kubernetes

  1. En el editor de código de Cloud Shell, abre el archivo frontend-deployment.yaml.
Nota: Ya se creó el esqueleto del archivo. Debes reemplazar los marcadores de posición con valores específicos de tu proyecto.
  1. Reemplaza los marcadores de posición en el archivo frontend-deployment.yaml por los siguientes valores:

Nombre del marcador de posición

Valor

[GCLOUD_PROJECT]

ID del proyecto de GCP, que se encuentra en el panel izquierdo del lab.
También puedes mostrar el ID del proyecto ingresando el comando
echo $GCLOUD_PROJECT en Cloud Shell.

[GCLOUD_BUCKET]

El nombre del bucket de Cloud Storage para el bucket de medios, que es [GCLOUD_PROJECT]-media. También puedes mostrar el nombre del bucket ingresando el comando echo $GCLOUD_BUCKET en Cloud Shell.

[FRONTEND_IMAGE_IDENTIFIER]

La imagen frontend identificada en el formulario gcr.io/[GCLOUD_PROJECT]/quiz-frontend.

Nota: La implementación de quiz-frontend aprovisiona tres réplicas de la imagen de Docker de frontend en Pods de Kubernetes, distribuidas en los tres nodos del clúster de Kubernetes Engine.
  1. Guarda el archivo.
  2. Reemplaza los marcadores de posición en el archivo backend-deployment.yaml por los siguientes valores:

Nombre del marcador de posición

Valor

[GCLOUD_PROJECT]

ID del proyecto de GCP

[GCLOUD_BUCKET]

ID del bucket de Cloud Storage para el bucket de medios en tu proyecto, que es [GCLOUD_PROJECT]-media

[BACKEND_IMAGE_IDENTIFIER]

La imagen de backend identificada en el formulario gcr.io/[GCLOUD_PROJECT]/quiz-backend

Nota: La implementación de quiz-backend aprovisiona dos réplicas de la imagen de Docker de backend en Pods de Kubernetes, distribuidas en dos de los tres nodos del clúster de Kubernetes Engine.
  1. Guarda el archivo.
  2. Revisa el contenido del archivo frontend-service.yaml.
Nota: El servicio expone la implementación de frontend a través de un balanceador de cargas. El balanceador envía solicitudes de clientes a las tres réplicas del Pod de frontend.

Ejecuta los archivos de implementación y servicio

  1. En Cloud Shell, aprovisiona el Deployment del frontend de Quiz:
kubectl create -f ./frontend-deployment.yaml
  1. Aprovisiona el Deployment del backend de Quiz:
kubectl create -f ./backend-deployment.yaml
  1. Aprovisiona el Service del frontend de Quiz:
kubectl create -f ./frontend-service.yaml Nota: Cada comando aprovisiona recursos en Kubernetes Engine. El proceso tarda unos cuantos minutos en completarse.

Tarea 6. Prueba la aplicación Quiz

En esta sección, revisarás los recursos de Pods y servicios que implementaste, y navegarás a la aplicación Quiz.

Revisa los recursos implementados

  1. En el menú de navegación de la consola de Google Cloud, haz clic en Kubernetes Engine.
  2. Haz clic en Cargas de trabajo.
Nota: Deberías ver dos contenedores: quiz-frontend y quiz-backend. Tal vez veas que el estado es OK o en proceso de creación.
  1. Haz clic en quiz-frontend. En la sección Pods administrados hay tres Pods quiz-frontend.

  2. En la sección Servicios, cerca de la parte inferior, busca la sección Extremos, copia la dirección IP y pégala en el campo URL de una nueva pestaña o ventana del navegador:

La dirección IP destacada en la sección Extremos en Servicios

  1. Se abrirá la aplicación Quiz, lo que significa que la implementaste con éxito. Puedes finalizar el lab aquí o usar el resto del tiempo para crear algunos cuestionarios.

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.

Copyright 2026 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.