Resumen:
|
[ES] El uso de blocs de notas en Jupyter se han popularizado recientemente ya que permiten
compartir código y visualizaciones de una forma dinámica y sencilla. Sin embargo, la
capacidad de proceso de los blocs de notas ...[+]
[ES] El uso de blocs de notas en Jupyter se han popularizado recientemente ya que permiten
compartir código y visualizaciones de una forma dinámica y sencilla. Sin embargo, la
capacidad de proceso de los blocs de notas es limitada, ya que generalmente su ejecución
se realiza localmente en el ordenador del usuario.
Si bien existen soluciones para poder ejecutar blocs de notas de Jupyter en un entorno
clusterizado, el uso de clústeres para la ejecución de los trabajos en Jupyter es reducida y
no permite fácilmente integrar clústeres sin un sistema de ficheros compartido. Tampoco
es evidente como gestionar el escalado horizontal considerando la carga de los trabajos.
El presente trabajo final de master, tiene como objetivo desplegar de forma automatizada
un clúster Jupyter, sobre un orquestador de contenedores como Kubernetes, haciendo uso
del administrador de recursos CLUES y utilizando el paquete ipyparallel (IPython
Parallel) para la gestión del clúster Python.
Para ello se utiliza IPython, este software, es un proyecto de software libre que provee un
conjunto de herramientas que facilitan la computación interactiva, la visualización y el
análisis de datos.
Jupyter es un proyecto derivado de IPython con el objetivo de ser agnóstico al lenguaje
de programación utilizado.
Como resultado se han desarrollado una serie de recetas Ansible optimizadas para hacer
uso de golden images. Es decir, imágenes pre-configuradas que contienen todo el
software necesario para el despliegue. De esta forma, se logró reducir el tiempo de
despliegue a una tercera parte del tiempo inicial.
[-]
[EN] The use of Jupyter Notebooks has recently become popular as they allow to share code
and visualizations in a dynamic and simple way. However, the processing capacity of the
Notebooks is limited, as they are usually ...[+]
[EN] The use of Jupyter Notebooks has recently become popular as they allow to share code
and visualizations in a dynamic and simple way. However, the processing capacity of the
Notebooks is limited, as they are usually executed locally on the user's computer.
While there are solutions for executing Jupyter notebooks in a clustered environment, the
use of clusters for executing Jupyter jobs is reduced and does not allow you to easily
integrate clusters without a shared file system. It is also not evident how to manage
horizontal scaling considering the load of the jobs.
The aim of this master thesis work is to deploy in an automated way a Jupyter cluster,
over a container orchestrator such as Kubernetes, making use of the CLUES resource
manager and using the ipyparallel package (IPython Parallel) for the IPython cluster
management.
For this purpose, IPython is used, this software is a free software project that provides a
set of tools that facilitate interactive computing, visualization and data analysis.
Jupyter es un proyecto derivado de IPython con el objetivo de ser agnóstico al lenguaje
de programación utilizado.
As a result, a series of Ansible roles optimized to make use of golden images have been
developed. That is, pre-configured images that contain all the necessary software for
deployment. In this way, the deployment time was reduced to a third of the initial time.
[-]
|