Nomad y bases de datos

De Hacklab La Paz - r00thouse
Work.gif

TL;DR Se abarca los conocimientos basicos de Nomad para realizar el proyecto en el punto 4.

1. Nomad

Es un orquestador simple y flexible para implementar y administrar contenedores y aplicaciones no contenidas en contenedores en las instalaciones y en la nube a escala.

2. Nomad vs otros orquestadores(kubernetes)

Nomad solo pretende centrarse en la gestión y programación de clústeres y está diseñado con la filosofía Unix de tener un alcance pequeño mientras se compone con herramientas como Consul para descubrimiento de servicios/malla de servicios y Vault para gestión de secretos.

3. Bases de Nomad

Se usan archivos hcl.

¿Que es un job?

Un trabajo es una especificación declarativa de tareas que Nomad debe ejecutar. Los trabajos tienen uno o más grupos de tareas, que a su vez son conjuntos de una o más tareas. Los nombres de los trabajos son únicos por región o espacio de nombres.

¿Que es un group?

El bloque de grupo define una serie de tareas que deben ubicarse en el mismo cliente Nomad. Cualquier tarea dentro de un grupo se asignará al mismo cliente.

¿Que es un task?

El bloque de tareas crea una unidad de trabajo individual, como un contenedor Docker, una aplicación web o un procesamiento por lotes.

mejorar las configuraciones de las tasks

Estructura

job
 \_ group
 | 	\_ task
 | 	\_ task
 |
 \_ group
   	\_ task
   	\_ task


4. Proyecto Final:

Proyecto

Yo seguí un tutorial, tiene una buena explicación que te aconsejo seguirlo, aprenderás también algunos servicios de AWS.

- AMI y EC2

- Route53

- VPC

- Security Groups

Nota: puedes realizarlo localmente si gustas(Sin AWS).

tutorial: Infinite Databases with Nomad and Traefik

Sin embargo tuve que arreglar algunos errores que había en la configuración de traefik, estos posts me ayudaron para arreglar el error del ruteo de tráfico tcp.

- ejemplo de configuracion tcp

- correccion tcp

Finalmente, pude comprobar que se pueden crear múltiples contenedores bases de datos usando nomad. Realice una demo puedes encontrarlo en mi repositorio.

nomad databases

5. Conclusiones

Se pueden crear un cluster de base de datos con otros orquestadores como kubernetes(proximos tutoriales).

6. Otros proyectos

load balancing

Ejemplos de Nomad

7. Agradecimientos

Looper