Nomad y bases de datos
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
Finalmente, pude comprobar que se pueden crear múltiples contenedores bases de datos usando nomad. Realice una demo puedes encontrarlo en mi repositorio.
5. Conclusiones
Se pueden crear un cluster de base de datos con otros orquestadores como kubernetes(proximos tutoriales).
6. Otros proyectos
7. Agradecimientos
Looper