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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.