In each folder you can find a more in-depth explanation of each component:
- Users API is a Spring Boot application. Provides user profiles. At the moment, does not provide full CRUD, just getting a single user and all users.
- Auth API is a Go application, and provides authorization functionality. Generates JWT tokens to be used with other APIs.
- TODOs API is a NodeJS application, provides CRUD functionality over user's TODO records. Also, it logs "create" and "delete" operations to Redis queue.
- Log Message Processor is a queue processor written in Python. Its purpose is to read messages from a Redis queue and print them to standard output.
- Frontend Vue application, provides UI.
Take a look at the components diagram that describes them and their interactions.

Como se ha venido aprendiendo en el curso de Kubernetes, ya sabemos desplegar una aplicación utilizando kubernetes, pero ahora es necesario utilizar Helm el cual s un gestor de paquetes para Kubernetes, donde se usa un nuevo concepto que son los charts, los cuales son una colección de archivos que describen una aplicación Kubernetes. Incluye manifestos de Kubernetes, que son archivos YAML que describen los recursos de la aplicación, como despliegues, servicios, volúmenes, etc., así como archivos de configuración que Helm utiliza para personalizar la implementación de la aplicación en un clúster de Kubernetes específico.
- Utilizando los microservicios que se mencionaron en el principio, y con ayuda de los .yaml que se crearon para manipular cada despliegue de manera manual, se configurará cada chart en su archivo value.yaml. Este archivo estará centralizado y lo que hará es que cada deployment, service, hpa etc, tomará los valores que se le hayan asignado para hacer el despliegue. Se debe crear este char con el comando helm create <nombre_del_microservicio> (procura estar parado en una carpeta con el nombre que tú decidas donde van a ir todos los chart)
values.yaml
deployment.yaml
Te debe quedar algo así.
- Luego de haber hecho la configuración (teniendo en cuenta las variables de entorno que antes se pasaban en el dockerfile) se debe lanzar el chart con el comando helm install . esto lo que hará es desplegar cada aplicación, creando el manifiesto necesario para que corra el microservicio.
- Por último, al tener todos tus microservicios listos, puedes hacer un script que te permita lanzar todo el entorno con un solo comando tal como lo encuentras en este repositorio microservices_with_helm/charts/microservices.sh
Para correrlo sería ./microservices.sh
- Puedes obtener cada uno de los servicios, pods y deploys corriendo con el comando kubectl get svc,po,deploy
-
Luego puedes correr el microservicio de frontend (que es donde vamos a entrar según el diagrama de arquitectura de la aplicación) y se puede hacer de dos maneras:
-
Listo, tu aplicación debe verse así, si tienes algún problema, estoy seguro que debe ser por variables de entorno, así que revisa los logs con kubectl logs o utiliza el kubectl describe .
Ten en cuenta que hay cosas que debes ignorar porque no es necesario para este trabajo, como el index.yaml y los .tgz (que son versions de la app guardadas)
Si definitivamente no te funciona, tranquilo, hay mejores áreas para tí, estoy seguro :)









