Despliegue y Actualización del Microservicio NGINX

KubernetesBeginner
Practicar Ahora

Introducción

En este desafío, demostrará sus habilidades en Kubernetes como ingeniero DevOps junior en una startup tecnológica. Su misión consiste en actualizar una aplicación web que utiliza NGINX como microservicio, garantizando la mínima interrupción del servicio. Las tareas incluyen la actualización de un Deployment de Kubernetes para utilizar una versión de imagen más reciente y la verificación de que la actualización progresiva se haya completado correctamente.

Este es un Desafío (Challenge), que a diferencia de un Laboratorio Guiado, requiere que intente completar la tarea de forma independiente en lugar de seguir pasos detallados de aprendizaje. Los desafíos suelen tener un nivel de dificultad mayor. Si encuentra obstáculos, puede consultar con Labby o revisar la solución propuesta. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 100%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los estudiantes.

Actualizar el Deployment de NGINX

Como ingeniero DevOps junior, su tarea es actualizar el despliegue existente para asegurar que el servicio no sufra interrupciones.

Requisitos previos

Antes de comenzar, asegúrese de contar con lo siguiente:

minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml

Verifique el estado del despliegue:

kubectl get deployments

Tareas

  1. Actualice el despliegue web-app para que utilice la imagen nginx:1.24.0-alpine.
  2. Verifique que la actualización se haya realizado correctamente mediante una actualización progresiva (rolling update), garantizando que no haya tiempo de inactividad.

Requerimientos

  • Utilice comandos de kubectl para realizar la actualización.
  • Confirme que el despliegue continúe funcionando sin interrupciones durante el proceso de actualización.
  • Emplee kubectl rollout status para supervisar el progreso de la actualización.
  • Revise las imágenes de los pods para verificar la versión actualizada.

Pistas

  • Puede usar kubectl edit deployment web-app o kubectl set image para actualizar la imagen.
  • Supervise el estado del despliegue con kubectl rollout status.
  • Valide los pods en ejecución y sus imágenes de contenedor mediante kubectl get pods -o jsonpath.
✨ Revisar Solución y Practicar

Resumen

En este desafío, ha demostrado sus competencias en Kubernetes al actualizar el despliegue de una aplicación web NGINX a una versión de imagen más reciente. Ha garantizado la disponibilidad total del servicio durante el proceso y ha verificado el éxito de la actualización progresiva. Este ejercicio resalta la importancia de mantener la alta disponibilidad mientras se realizan actualizaciones en entornos productivos de Kubernetes.