Skip to content

Explora la belleza de lo impredecible a través de filtros de imagen generativos.

Notifications You must be signed in to change notification settings

lissethamc/RandomFilterGen

 
 

Repository files navigation

Juan Manuel Barajas Gómez | Lisseth Abigail Martínez Castillo | Jonathan Medina Herrera

El arte generativo es una forma de expresión artística en la que se utilizan sistemas o algoritmos computacionales para generar obras de arte. En lugar de ser creadas directamente por un artista humano, estas obras se generan a través de procesos automáticos o semi-automáticos, donde se establecen reglas, parámetros o algoritmos que determinan cómo se desarrolla la obra.

RandomFilterGen es un sistema basado en arte generativo que emplea algoritmos y parámetros aleatorios para aplicar filtros a las imágenes, generando resultados únicos en cada iteración. Esta herramienta te permite explorar la creatividad a través de la personalización de los parámetros y experimentar con una amplia variedad de filtros generativos. Descubre la belleza del arte en lo impredecible y transforma tus imágenes en obras de arte auténticas y sorprendentes.

Sitio web:

http://randomfilterapp.sytes.net/ - 24.199.74.146

imagen

Implementación en DigitalOcean

Para su administración se hace uso de Kubectl, Doctl e Istioctl. Es necesario hacer un contenedor donde se incluya la aplicación desarrollada, esto a partir de un Dockerfile, también es necesario indicar en un archivo requirements.txt las librerías que funcionan como requisitos, que son PIL, Flask glitch_this.

Después de hacer docker build . podemos ver en las imágenes nuestra imagen creada con docker images image

Podemos correr el contenedor para asegurarnos de que está bien configurada la imagen con el comando docker run -p 80:80 <NOMBREIMAGEN:TAG>, la bandera -p seguida de 80:80 nos ayuda a bindear los puertos del contenedor.

Ya contábamos con un registry en DigitalOcean por lo que a continuación, por lo que necesitábamos renombrarla para que apunte a nuestro registro de imágenes en DigitalOcean, utilizando

docker tag <NOMBRE DE LA IMAGEN LOCAL> registry.digitalocean.com/<NOMBRE DEL REGISTRO>/<NOMBRE DE LA IMAGEN EN D.O.>

Es necesario autenticarse en el registro de imágenes con doctl registry login

Una vez hecho eso, subimos la imagen con

docker push registry.digitalocean.com/<NOMBRE DEL REGISTRO>/<NOMBRE DE LA IMAGEN EN D.O.>

Utilizamos el comando para obtener los manifiestos de las imágenes almacenadas. Estos manifiestos contienen información sobre las imágenes y sus configuraciones relacionadas.

  doctl registry kubernetes-manifest | kubectl apply -f -

Cada manifiesto contiene información acerda del deploy por kubernetes

Creamos el deploy desde kubectl desde la imagen a la que le hicimos push

kubectl create deployment flask-app-filter --image=registry.digitalocean.com/<REGISTRO>/<NOMBRE IMAGEN>

Verificamos que tengramos un solo pod creado con kubectl get pods image

Para poder aplicar un balanceador de cargas creamos 4 replicas con el siguiente comando

kubectl scale deployment/flask-app-filter --replicas=4

![image](https://github.com/lissethamc/RandomFilterGen/assets/33168405/3e77c767-db7e-4e34-b0f9-9690c41957c3

Y configuramos el balanceador de cargas con el siguiente comando

kubectl expose deployment flask-app-filter --type=LoadBalancer --port=80 --target-port=80

Debemos esperar un rato a que termine de configurar las IPs, pero después podemos ver la lista de balanceadores de cargas

doctl compute load-balancer list --format Name,Created,IP,Status

image

Podemos ver la información de los servicios, siendo el balanceador de cargas uno de ellos con kubectl get services image

Para el monitoreo de la ServiceMesh se usa kiali, podemos entrar a ella con istio image, nos pedirá un token que obtenemos con el comando

kubectl exec $(kubectl get pod -n istio-system -l app=kiali -o jsonpath='{.items[0].metadata.name}') -n istio-system -- cat /var/run/secrets/kubernetes.io/serviceaccount/token

Donde podemos ver el tráfico image

Podemos visualizar cómo los pods se reestablecen en AGE después de kubectl delete pods -all, así como podemos ver cómo se reestablecen al usar cheekymonkey

image

image

image

About

Explora la belleza de lo impredecible a través de filtros de imagen generativos.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 31.5%
  • HTML 27.8%
  • CSS 27.2%
  • JavaScript 11.6%
  • Dockerfile 1.9%