Del CrashLoopBackOff a Hello World: Desplegando Flask en GKE

Despliegue de una app Flask en GKE que saluda y admite nombres para saludos personalizados; Docker, Artifact Registry y buenas prácticas de despliegue.

18 ago 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Resumen del proyecto: desplegar una aplicación Python Flask que saluda a los usuarios usando Kubernetes en Google Kubernetes Engine GKE. Tech stack: Flask, Docker, Kubernetes, Google Kubernetes Engine. Objetivo: poner en producción una app simple que responda Hello mi nombre es Gerald y permita enviar un nombre para que la app responda con un saludo personalizado.

Acerca de Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida. Ofrecemos soluciones de inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Diseñamos aplicaciones empresariales, integraciones seguras y consultoría para acelerar la transformación digital.

Paso 1 Aplicación Flask Resumen: la app define una ruta raiz que devuelve Hello, mi nombre es Gerald. What is your name y un endpoint POST para recibir el campo name desde un formulario y devolver Hello seguido del nombre. En modo producción la app debe ejecutarse en 0.0.0.0 y puerto 80 para que Kubernetes pueda enrutar el tráfico correctamente.

Paso 2 Dockerizar la app Dockerfile esencial: FROM python:3.12-slim WORKDIR /app COPY requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 80 CMD python app.py

Comandos para construir y subir imagen al Artifact Registry: docker build -t africa-south1-docker.pkg.dev/k8s-project-468723/my-docker-repo/my-python-app:v1 . docker push africa-south1-docker.pkg.dev/k8s-project-468723/my-docker-repo/my-python-app:v1

Paso 3 Despliegue en Kubernetes Despliegue básico: crear un Deployment con replicas 2 que use la imagen almacenada en Artifact Registry y que exponga el puerto 80 del contenedor. Aplicar el manifiesto con kubectl apply -f deployment.yaml y crear un Service tipo LoadBalancer con kubectl expose deployment my-python-app --type=LoadBalancer --port 80 --target-port 80

Depuración CrashLoopBackOff Primer síntoma: los pods entraban en estado CrashLoopBackOff al levantar. Comprobación rápida: kubectl get pods -l app=my-python-app y revisar logs con kubectl logs nombre-del-pod Para este caso el log indicaba que no se encontraba el archivo app.py en /app y además la aplicación estaba corriendo en el puerto 5000 mientras el Service esperaba respuestas en el puerto 80.

Correcciones aplicadas 1 Renombrar archivo o ajustar CMD Si el archivo principal se llamaba gerald.py la solución fue renombrarlo a app.py o cambiar la instrucción CMD en Dockerfile para arrancar el archivo correcto. 2 Alinear puertos Cambiar Flask para escuchar en el puerto 80 o ajustar la exposición del contenedor. En este proyecto se optó por ejecutar Flask en el puerto 80 y mantener EXPOSE 80 en el Dockerfile.

Resultado final Tras corregir el nombre del fichero y el puerto la aplicación respondió correctamente. Abrir la IP externa del LoadBalancer en el navegador mostraba el saludo Hello, mi nombre es Gerald. What is your name y el endpoint POST /greet respondía Hello seguido del nombre enviado desde el formulario.

Lecciones aprendidas Coincidir puerto del contenedor y targetPort del Service es crítico. Revisar logs de pods con kubectl logs es la forma más rápida de identificar errores como archivos ausentes o excepciones. Mantener coherencia entre nombres de archivos en el repositorio y comandos de arranque en Dockerfile evita errores de CrashLoopBackOff. Probar localmente antes de subir a Kubernetes permite iterar más rápido y reducir ciclos de depuración en la nube.

Buenas prácticas adicionales Para proyectos empresariales y para servicios cloud AWS y Azure recomendamos integrar pipelines CI CD que verifiquen la imagen antes de desplegar, aplicar políticas de seguridad y escaneo de vulnerabilidades para ciberseguridad, y monitorizar con herramientas de observabilidad. Integrar soluciones de inteligencia artificial e inteligencia de negocio permite añadir valor a las aplicaciones a medida; por ejemplo agentes IA para atención automatizada y paneles con power bi para análisis.

Recursos y enlace al código completo El proyecto completo está disponible en GitHub en la siguiente URL https://github.com/gerald475/simple-python-app

Invitación Si alguna vez has luchado contra CrashLoopBackOff comparte tu experiencia en los comentarios y ayuda a la comunidad a depurar más rápido.

Sobre Q2BSTUDIO Q2BSTUDIO desarrolla software a medida, aplicaciones a medida y soluciones de inteligencia artificial para empresas. Somos especialistas en ciberseguridad, servicios cloud AWS y Azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Contacta con Q2BSTUDIO para acelerar tus proyectos con software de calidad, seguridad incorporada y capacidades de inteligencia artificial.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat