DevOps en 100 días: Día 51

Este artículo describe cómo se realizó una actualización gradual rolling update de un deployment de NGINX en Kubernetes para actualizar la imagen a nginx:1.18 y garantizar continuidad del servicio durante el cambio.
Inicio de la actualización: para lanzar la actualización se ejecutó kubectl set image deployment/nginx-deployment nginx-container=nginx:1.18. Kubernetes crea nuevos pods con la imagen actualizada y termina de forma ordenada los pods antiguos, manteniendo la disponibilidad de la aplicación durante el proceso.
Verificación del despliegue: tras iniciar la actualización se comprobó el estado con kubectl rollout status deployment/nginx-deployment, que confirma cuando el deployment ha terminado de desplegar las nuevas réplicas y están listas para recibir tráfico.
Comprobación de namespace y pods: en una primera comprobación no se encontraron recursos al usar la etiqueta app=nginx porque los pods estaban en el namespace default. Para localizar todos los pods se utilizó kubectl get pods --all-namespaces, lo que mostró las réplicas del deployment ejecutándose en el namespace default junto con los componentes del sistema.
Verificación final de la imagen: para asegurarnos de que los pods nuevos usan la imagen correcta se describió uno de los pods con kubectl describe pod nginx-deployment-58cf54c7f6-hzwvn. En la sección de contenedores se pudo comprobar que Image aparece como nginx:1.18 y que el estado del contenedor es Running con Ready True, confirmando el éxito de la actualización.
Buenas prácticas rápidas: automatizar comprobaciones de readiness y liveness, definir estrategia de actualización en el deployment para controlar maxUnavailable y maxSurge, y probar la actualización en entornos de staging antes de producción. Además, monitorizar logs y métricas durante el rolling update ayuda a detectar regresiones.
En Q2BSTUDIO somos expertos en soluciones empresariales que combinan gestión de infraestructura y desarrollo a medida: ofrecemos desarrollo de aplicaciones a medida y software a medida adaptado a sus procesos, así como servicios gestionados en la nube. Si busca transformar su arquitectura con aplicaciones robustas, conozca nuestros servicios de desarrollo en desarrollo de aplicaciones y software multicanal y despliegues seguros en la nube con servicios cloud AWS y Azure.
También integramos capacidades de inteligencia artificial e ia para empresas para automatizar operaciones y mejorar la toma de decisiones, desarrollamos agentes IA personalizados y soluciones de inteligencia de negocio como Power BI para convertir datos en valor, y ofrecemos servicios de ciberseguridad y pentesting para proteger su infraestructura. Estas competencias permiten a Q2BSTUDIO entregar proyectos llave en mano que incluyen desde la arquitectura cloud hasta la analítica avanzada y la seguridad.
Resumen: la actualización rolling update de NGINX a nginx:1.18 se completó satisfactoriamente siguiendo los pasos de set image, rollout status, verificación de namespaces y describe del pod. Si necesita apoyo en migraciones, automatización de despliegues, o soluciones de software a medida, nuestro equipo está listo para ayudarle a diseñar e implementar la mejor estrategia.
Comentarios