Resumen:
|
[ES] Hoy en día, la gestión y despliegue de las aplicaciones basadas en microservicios se hace de forma
óptima y automática mediante un orquestador de contenedores: Kubernetes (utilizado en este
desarrollo). Se encarga ...[+]
[ES] Hoy en día, la gestión y despliegue de las aplicaciones basadas en microservicios se hace de forma
óptima y automática mediante un orquestador de contenedores: Kubernetes (utilizado en este
desarrollo). Se encarga de desplegar los contenedores, además del Service Discovery y facilitar
el escalamiento de la aplicación entre otros aspectos. Además Kubernetes se puede integrar con
herramientas de CI/CD.
Con la aparición de las aplicaciones ejecutando dentro de los contenedores, es indispensable
observar logs para verificar el correcto funcionamiento de distintos componentes: sistemas,
objetos de Kubernetes, contenedores y almacenar todos sus logs en un disco persistente y poder
filtrar por nombre de espacio, fecha o nombre del objeto más tarde.
Para ello, en primer lugar, se ha montado un clúster de Kubernetes en el entorno local utilizando
máquinas virtuales. A continuación, se han analizado las posibilidades de obtención de logs de
los contenedores. Existen distintas herramientas que permiten analizar los logs, sin embargo,
cuando el contenedor se detiene, sus logs desaparecen. La conservación de dichos logs es
importante para llegar al origen del problema.
Tras analizar carencias de los comandos y funcionalidades que ofrece Kubernetes de forma nativa,
se ha procedido a instalar las herramientas Elasticsearch, Logstash y Kibana sobre el clúster.
Tras solucionar la persistencia de logs en el despliegue local, se ha desplegado la infraestructura
de Kubernetes en la nube de distintas formas:
• Instalación manual en máquinas virtuales hospedadas en Google Compute Cloud.
• Uso del clúster ya configurado en Google Kubernetes Engine.
En ambas instalaciones se han analizado funcionalidades de visualización de logs. Al no estar
satisfecha la persistencia de logs con la instalación en máquinas virtuales, se ha instalado la pila
Elasticsearch, Logstash y Kibana.
Finalmente, sobre los sistemas desplegados, se han realizado pruebas con aplicaciones emitiendo
logs para comprobar el correcto funcionamiento de la solución.
[-]
[EN] Nowadays, the management and deployment of applications based on microservices is performed
optimally and automatically through a container orchestrator: Kubernetes (used in this
development). Kubernetes is responsible ...[+]
[EN] Nowadays, the management and deployment of applications based on microservices is performed
optimally and automatically through a container orchestrator: Kubernetes (used in this
development). Kubernetes is responsible for deploying containers, as well as Service Discovery
and facilitating the scaling of the application, among other aspects. Kubernetes can also be
integrated with CI/CD tools.
With the emergence of applications running inside containers, it is essentials to observe logs to
verify the correct operation of different components: system, Kubernetes objects, containers and
to store all their logs in a persistent disk and then be able to filter by namespace, date, or object
name later.
To do this, first, a Kubernetes cluster was set up in the local environment using virtual machines.
Next, we analysed the possibilities of obtaining logs from the containers. There are several tools
available to analyse the logs, however, when the container is stopped, its logs disappear. The
preservation of these logs is important to get to the source of the problem.
After analysing the shortcomings of the commands and functionalities offered natively by
Kubernetes, we proceeded to install the Elasticsearch, Logstash and Kibana tools on the cluster.
After solving the log persistence in the local deployment, the Kubernetes infrastructure has been
deployed in the cloud in different ways:
• Manual installation on virtual machines hosted on Google Compute Engine.
• Using the cluster already configured in Google Kubernetes Engine.
In both installations, log visualization functionalities have been analysed. As the log persistence
was not satisfied with the installation on virtual machines, the Elasticsearch, Logstash and Kibana
stack were installed.
Finally, on the deployed systems, tests have been performed with applications emitting logs to
verify the correct operation of the solution.
[-]
|