Ejecutar trabajos en nuestro nodo
El objetivo de este artículo es ejecutar una aplicación de muestra para que podamos generar datos para nuestras herramientas de observabilidad.
Contenedorizando Philosophers
Utilizaremos Docker para contenedorizar nuestra aplicación, de modo que podamos desplegar múltiples instancias de ella de manera sencilla.
Primero, necesitamos crear un Dockerfile, que se utilizará para construir nuestra imagen.
Crea un archivo llamado
Dockerfileen el directorioobservability-lab/utilities/philo.Agrega el siguiente contenido al archivo:
FROM ubuntu:latest RUN apt-get update && apt-get install -y \ --no-install-recommends \ git \ build-essential \ ca-certificates \ pwgen \ && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* RUN git clone "https://github.com/tinitiuset/philosophers.git" /usr/local/bin/philo RUN make -C /usr/local/bin/philo/philo RUN chmod a+x /usr/local/bin/philo/philo/philo ENV PATH="/usr/local/bin/philo/philo:$PATH" ENV PHILO_ARGS="" ENTRYPOINT philo $PHILO_ARGS | tee -a /var/log/philo/philo-$(pwgen 5).logDespués de crear el Dockerfile, necesitamos construir la imagen.
Ejecuta el siguiente comando en
observability-lab/utilities/philo:docker build -t philo .Finalmente, podríamos ejecutar la imagen que acabamos de construir.
Ejecuta el siguiente comando en
observability-lab/utilities/philo:docker run --rm -it -e PHILO_ARGS="5 800 200 200" philoTambién se proporciona un archivo docker-compose en
observability-lab/utilities/philo, que se puede utilizar para ejecutar múltiples instancias de la aplicación. Los logs se escribirán enobservability-lab/data/philo/para que Promtail pueda recopilarlos.Ejecuta el siguiente comando en
observability-lab/utilities/philo:docker compose up
Lo que has aprendido
Has aprendido cómo contenedorizar Philosophers y cómo ejecutar múltiples instancias simultáneamente.