GSP510

Introducción
En un lab de desafío, se le proporcionarán una situación y un conjunto de tareas. En lugar de seguir instrucciones paso a paso, deberás utilizar las habilidades aprendidas en los labs del curso para decidir cómo completar las tareas por tu cuenta. Un sistema automatizado de puntuación (en esta página) mostrará comentarios y determinará si completaste tus tareas correctamente.
En un lab de desafío, no se explican conceptos nuevos de Google Cloud, sino que se espera que amplíes las habilidades que adquiriste, como cambiar los valores predeterminados y leer o investigar los mensajes de error para corregir sus propios errores.
Debe completar correctamente todas las tareas dentro del período establecido para obtener una puntuación del 100%.
Se recomienda este lab a los estudiantes inscritos en la insignia de habilidad Administra Kubernetes en Google Cloud. ¿Aceptas el desafío?
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Situación del desafío
Te integraste a Cymbal Shops hace apenas unos meses. Dedicaste mucho tiempo a trabajar con contenedores en Docker y Artifact Registry, y aprendiste los conceptos básicos para administrar implementaciones nuevas y existentes en GKE. Practicaste actualizando manifiestos, así como escalando, supervisando y depurando las aplicaciones que se ejecutan en tus clústeres.

Tu equipo quiere que empieces a administrar sus implementaciones de Kubernetes para garantizar lanzamientos y actualizaciones de aplicaciones sin problemas en su nuevo sitio web de comercio electrónico. Antes de que empieces en este nuevo cargo, el equipo de desarrollo quiere que demuestres tus nuevas habilidades. Como parte de esta demostración, tienen una lista de tareas que les gustaría que realizaras durante un período determinado en un entorno de zona de pruebas.
Tu desafío
Como parte del entorno de la zona de pruebas, tus desarrolladores crearon un repositorio de Artifact Registry llamado , que incluye un fragmento de código con una aplicación de ejemplo básica que implementarás en un clúster.
Nota: Esta imagen que se creó en el repo es una versión alojada en un contenedor del código que descargarás del bucket spls/gsp510/hello-app
más adelante en el lab.
Deberás realizar las siguientes tareas:
- Crear un clúster de GKE basado en un conjunto de parámetros de configuración proporcionados
- Habilitar Prometheus administrado en el clúster para supervisar métricas
- Implementar un manifiesto de Kubernetes en el clúster y depurar los errores
- Crear una métrica basada en registros y una política de alertas para los errores en el clúster de Kubernetes
- Corregir los errores de manifiesto, alojar en contenedores el código de tu aplicación y enviarlo a Artifact Registry con Docker
- Exponer un servicio para tu aplicación en el clúster y verificar tus actualizaciones
Tarea 1: Crea un clúster de GKE
El nuevo sitio web de comercio electrónico de Cymbal Shops se ejecutará de forma nativa en GKE, y el equipo quiere conocer tu experiencia trabajando con clústeres y configurándolos. En esta sección, deberás crear un clúster de Kubernetes basado en un conjunto de parámetros de configuración que se te proporcionaron para ejecutar tus aplicaciones de demostración.
- Crea un clúster de GKE llamado con la siguiente configuración:
Parámetro de configuración |
Valor |
Zona |
|
Canal de versiones |
Regular |
Versión del clúster |
1.27.8 o una versión posterior
|
Escalador automático de clúster |
Habilitado |
Cantidad de nodos |
3 |
Cantidad mínima de nodos |
2 |
Cantidad máxima de nodos |
6 |
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear un clúster de GKE
Tarea 2: Habilita Prometheus administrado en el clúster de GKE
Como parte de la estrategia del sitio web de comercio electrónico, Cymbal Shops quiere comenzar a usar Prometheus administrado para las métricas y la supervisión en el clúster y, así, brindarles una buena experiencia a sus clientes. En esta sección, habilitarás Prometheus administrado en el clúster para supervisar métricas y crearás un espacio de nombres para implementar una aplicación de Prometheus de muestra y la supervisión de Pods.
-
Habilita la recopilación de Prometheus administrado en el clúster de GKE.
-
Crea un espacio de nombres en el clúster llamado .
-
Descarga una app de Prometheus de ejemplo:
gsutil cp gs://spls/gsp510/prometheus-app.yaml .
-
Actualiza las secciones <todo>
(líneas 35 a 38) con la siguiente configuración:
-
containers.image:
nilebox/prometheus-example-app:latest
-
containers.name:
prometheus-test
-
ports.name:
metrics
-
Implementa la aplicación en el espacio de nombres de tu clúster de GKE.
-
Descarga el archivo pod-monitoring.yaml
:
gsutil cp gs://spls/gsp510/pod-monitoring.yaml .
-
Actualiza las secciones <todo>
(líneas 18 a 24) con la siguiente configuración:
-
metadata.name:
prometheus-test
-
labels.app.kubernetes.io/name:
prometheus-test
-
matchLabels.app:
prometheus-test
-
endpoints.interval:
-
Aplica el recurso de supervisión de Pod en el espacio de nombres en tu clúster de GKE.
Haz clic en Revisar mi progreso para verificar el objetivo.
Habilitar Prometheus administrado en el clúster de GKE
Tarea 3: Implementa una aplicación en el clúster de GKE
El equipo de desarrollo de Cymbal Shops lanzará constantemente código de aplicación nuevo en el clúster que tendrás que implementar de manera correcta en producción. En esta sección, implementarás un manifiesto de Kubernetes en el clúster y, luego, inspeccionarás el problema.
- Descarga los archivos de manifiesto para la implementación de la demostración:
gsutil cp -r gs://spls/gsp510/hello-app/ .
-
Crea una implementación en el espacio de nombres en tu clúster de GKE desde el archivo de manifiesto helloweb-deployment.yaml
. Se encuentra en la carpeta hello-app/manifests
.
-
Verifica que hayas creado la implementación y navega a la página de detalles de la implementación de helloweb. Deberías ver el siguiente error:

Este error parece provenir de un nombre de imagen no válido en el manifiesto que acabas de implementar. Antes de corregir el nombre de la imagen, crearás una métrica basada en registros y una política de alertas para que tu equipo reciba una notificación si esto vuelve a ocurrir en el futuro.
Haz clic en Revisar mi progreso para verificar el objetivo.
Implementar una aplicación en el clúster de GKE
Tarea 4: Crea una métrica basada en registros y una política de alertas
A Cymbal Shops le gustaría configurar algunas métricas basadas en registros y políticas de alertas para agregar la cantidad de errores y advertencias en sus Pods de Kubernetes, así como establecer un mecanismo de alertas para sus clústeres cuando se supere un umbral de errores. En esta sección, demostrarás tus conocimientos en la creación de estas métricas y políticas de alertas para el equipo.
Crea una métrica basada en registros
- En el Explorador de registros, crea una consulta que devuelva las advertencias o los errores que viste en la sección anterior sobre el clúster.
Sugerencia: Tu consulta debe tener solo un indicador de gravedad y un tipo de recurso seleccionados.
Si la consulta es correcta, cuando se ejecute, deberías ver los siguientes errores en los registros:
Error: InvalidImageName
Failed to apply default image tag "<todo>": couldn't parse image reference "<todo>": invalid reference format
- Crea una métrica basada en registros a partir de esta consulta. En Tipo de métrica, usa Contador y, en Nombre de la métrica de registro, usa
pod-image-errors
.
Crea una política de alertas
- Crea una política de alertas en función de la métrica basada en registros que acabas de crear. Usa los siguientes detalles para configurar tu política:
-
Ventana progresiva:
10 min
-
Función de ventana progresiva:
Count
-
Agregación de series temporales:
Sum
-
Tipo de condición:
Threshold
-
Activador de alertas:
Any time series violates
-
Posición del umbral:
Above threshold
-
Valor del umbral:
0
-
Usar el canal de notificaciones: Inhabilitar
-
Nombre de la política de alertas:
Pod Error Alert
Haz clic en Revisar mi progreso para verificar el objetivo.
Crea una métrica basada en registros y una política de alertas.
Tarea 5: Actualiza y vuelve a implementar tu app
El equipo de desarrollo quiere que demuestres tus conocimientos para borrar y actualizar implementaciones en el clúster en caso de error. En esta sección, actualizarás un manifiesto de Kubernetes con una referencia de imagen correcta, borrarás una implementación y, luego, implementarás la aplicación actualizada en el clúster.
-
Reemplaza <todo>
en la sección de imagen del manifiesto de implementación helloweb-deployment.yaml
por la siguiente imagen:
us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
-
Borra la implementación helloweb de tu clúster.
-
Implementa el manifiesto helloweb-deployment.yaml
actualizado en el espacio de nombres de tu clúster.
Debes verificar que se haya implementado correctamente y sin errores. La página Cargas de trabajo de Kubernetes se debería ver de la siguiente manera:

Haz clic en Revisar mi progreso para verificar el objetivo.
Actualizar y volver a implementar tu app
Tarea 6: Aloja tu código en contenedores y, luego, impleméntalo en el clúster
Por último, como parte de la estrategia de comercio electrónico de Cymbal Shops, el equipo de aplicaciones te proporcionará un código que deberás alojar en contenedores y almacenar en un registro y, luego, deberás actualizar el clúster con la versión más reciente de ese código.
En esta sección, alojarás en contenedores el código de la aplicación, actualizarás una imagen en Artifact Registry y la configurarás en la imagen de tu clúster. Tu equipo tiene un repositorio en Artifact Registry llamado que contiene una versión alojada en contenedores de la app de ejemplo hello-app
en Docker. Actualizarás el código de la compilación de forma local y, luego, enviarás una nueva versión al repositorio.
-
En el directorio hello-app
, actualiza el archivo main.go para usar Version: 2.0.0
en la línea 49.
-
Usa hello-app/Dockerfile
para crear una imagen de Docker con la etiqueta v2
.
Nota: Debes seguir las convenciones de nomenclatura de Artifact Registry que se detallan aquí.
-
Envía la imagen de Docker recién compilada a tu repositorio en Artifact Registry con la etiqueta v2
.
-
Configura la imagen en tu implementación de helloweb para reflejar la imagen v2
que enviaste a Artifact Registry.
-
Expón la implementación helloweb a un servicio de LoadBalancer llamado en el puerto 8080 y establece el puerto de destino del contenedor en el que está especificado en el Dockerfile.
-
Navega a la dirección IP del balanceador de cargas externo del servicio . Deberías ver el siguiente texto que devuelve el servicio:
Hello, world!
Version: 2.0.0
Hostname: helloweb-6fc7476576-cvv5f
Nota: La página web puede tardar unos minutos en cargarse.
Haz clic en Revisar mi progreso para verificar el objetivo.
Alojar tu código en contenedores y, luego, implementarlo en el clúster
¡Felicitaciones!
¡Felicitaciones! En este lab, verificaste tus habilidades para crear un clúster de GKE basado en un conjunto de parámetros de configuración y habilitaste la recopilación de Prometheus administrado. También solucionaste errores en un clúster, creaste una métrica basada en registros junto con una política de alertas y, luego, actualizaste los manifiestos de Kubernetes para solucionar el problema. Por último, alojaste el código de la aplicación en contenedores y enviaste una nueva compilación a un repositorio en Artifact Registry con Docker, actualizaste tu clúster para reflejar la nueva imagen y expusiste un servicio en el clúster. Ya tienes todo listo para comenzar a administrar Kubernetes en tus propios entornos.
Obtén tu próxima insignia de habilidad
Este lab de autoaprendizaje forma parte de la Quest para obtener la insignia de habilidad Administra Kubernetes en Google Cloud. Si completas esta Quest, obtendrás la insignia de habilidad que se muestra arriba como reconocimiento de tu logro. Comparte la insignia en tu currículum y tus plataformas sociales, y anuncia tu logro con el hashtag #GoogleCloudBadge.
Esta Quest para obtener la insignia de habilidad forma parte de la ruta de aprendizaje Hybrid and Multi-Cloud Cloud Architect de Google Cloud. Si ya completaste las otras Quests con insignias de habilidad en esta ruta de aprendizaje, revisa el catálogo de Google Cloud Skills Boost y encuentra más de 20 Quests con insignias de habilidad a las que puedes inscribirte.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 11 de agosto de 2023
Prueba más reciente del lab: 11 de agosto de 2023
Copyright 2025 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.