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.
Accede a Qwiklabs desde una ventana de incógnito.
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.
Cuando esté listo, haga clic en Comenzar lab.
Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haga clic en Abrir Google Console.
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.
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.
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:
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.
Cambia al directorio que contenga los archivos de muestra de este lab:
cd ~/kubernetesengine/start
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.
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
En la consola de Cloud, haz clic en el menú de navegación > Kubernetes Engine > Clústeres.
Haz clic en Crear y, luego, en Configurar junto al modo de clúster Estándar.
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
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.
Cuando el clúster esté listo, haz clic en el botón Acción (tres puntos verticales) y, luego, en Conectar.
En Conéctate al clúster, haz clic en Ejecutar en Cloud Shell.
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].
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
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.
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
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
En Cloud Shell, asegúrate de que te encuentras en la carpeta start:
cd ~/kubernetesengine/start
Para crear la imagen de Docker del frontend, ejecuta el comando que se muestra a continuación:
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.
Ejecuta el siguiente comando para compilar la imagen de Docker de 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
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.
Haz clic en quiz-frontend.
Nota: Deberías ver el nombre de la imagen (un hash) y las etiquetas (las más recientes).
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
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.
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.
Guarda el archivo.
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.
Guarda el archivo.
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
En Cloud Shell, aprovisiona el Deployment del frontend de Quiz:
kubectl create -f ./frontend-deployment.yaml
Aprovisiona el Deployment del backend de Quiz:
kubectl create -f ./backend-deployment.yaml
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
En el menú de navegación de la consola de Google Cloud, haz clic en Kubernetes Engine.
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.
Haz clic en quiz-frontend. En la sección Pods administrados hay tres Pods quiz-frontend.
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:
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.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
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.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
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.
En este lab, implementarás la aplicación Quiz en Kubernetes Engine. Para ello, aprovecharás recursos de Google Cloud, como Container Builder y Container Registry, y recursos de Kubernetes, como Deployments, Pods y Services.
Duración:
0 min de configuración
·
Acceso por 120 min
·
120 min para completar