Challenge-flask-k8s
Este ejemplo crea una API básica con flask
, junto con un consumidor que accede a la API a través del servicio. Para exponer la API, se creó un servicio tipo NodePort, el cual expone un puerto en todos los nodos para que la API sea accesible desde fuera del clúster y por el consumidor desde el nodo.
Repositorio
Revisa el desafio de kubernetes Enlace
Requisitos
- Cluster de Kubernetes (EKS, Minikube, K3s, etc.)
- Alternativa: Killercoda
- Docker
- kubectl
Desafío
- Crear los Dockerfile de la aplicación y del consumidor.
- El Dockerfile de la aplicación debe contener las instrucciones necesarias para construir la imagen de la API
flask
. - El Dockerfile del consumidor debe contener las instrucciones necesarias para construir la imagen del consumidor que accederá a la API.
- El Dockerfile de la aplicación debe contener las instrucciones necesarias para construir la imagen de la API
- Construir las imágenes de la aplicación y del consumidor.
- Utilizar el comando
docker build
para construir las imágenes.
- Utilizar el comando
- Subir las imágenes a Docker Hub.
- Utilizar el comando
docker push
para subir las imágenes a un repositorio en Docker Hub.
- Utilizar el comando
- Crear los manifiestos de Kubernetes según el análisis del diagrama.
- Namespace: Inicial_nombre_apellido
- Servicio de tipo NodePort
- Crear un Deployment para la aplicación
flask
. - Crear un Deployment para el consumidor.
- Crear un Service de tipo NodePort para exponer la API
flask
.
- Aplicar los manifiestos en el clúster EKS.
- Utilizar el comando
kubectl apply
para aplicar los manifiestos.
- Utilizar el comando
- Tips:
- La aplicación corre sobre el puerto 8000.
- El consumidor necesita acceder a
http://service-flask-app
.
- Incluir una imagen de los resultados.
- Tomar una captura de pantalla de la aplicación y del consumidor funcionando correctamente.
- En clases live, desplegar el desafío.
- Realizar una demostración en vivo del despliegue del desafío.
Resultados
⌨️ con ❤️ por roxsross 😊
No olvides revisar mi blog: roxsross 😊
Y mi linktree: roxsross 😊
"No se trata de cambiar el mundo, creo que creas un cambio pequeño, pero que te importe estás cambiando las cosas."