Diferencia entre revisiones de «Nomad y bases de datos»
(Nomad databases) |
Sin resumen de edición |
||
Línea 1: | Línea 1: | ||
[[Archivo:Work.gif|miniaturadeimagen]] | [[Archivo:Work.gif|miniaturadeimagen]] | ||
TL;DR Se abarca los conocimientos basicos de Nomad para realizar el proyecto en el punto 4. | '''''TL;DR Se abarca los conocimientos basicos de Nomad para realizar el proyecto en el punto 4.''''' | ||
'''1. Nomad''' | '''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''' | '''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. | 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. | ||
Línea 13: | Línea 13: | ||
'''3. Bases de Nomad''' | '''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. | 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. | 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. | |||
[https://developer.hashicorp.com/nomad/tutorials/manage-jobs/jobs-configuring mejorar las configuraciones de las tasks] | [https://developer.hashicorp.com/nomad/tutorials/manage-jobs/jobs-configuring mejorar las configuraciones de las tasks] | ||
'''Estructura''' | |||
job | job | ||
\_ group | \_ group | ||
| | | \_ task | ||
| | | \_ task | ||
| | | | ||
\_ group | \_ group | ||
\_ task | |||
\_ task | |||
Línea 39: | Línea 44: | ||
'''4. Proyecto Final:''' | '''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.'' | |||
tutorial: [https://thekevinwang.com/2023/09/24/infinite-dbs-with-nomad 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. | |||
- [https://community.traefik.io/t/running-multiple-databases-via-traefik-and-accessing-the-databases-from-the-host-machine/11369 ejemplo de configuracion tcp] | |||
'''5. Otros proyectos | - [https://community.traefik.io/t/multiple-mysql-communication-through-tcp-with-tls-based-on-sni/18936/16 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. | |||
[https://github.com/libialany/Nomad_Databases nomad databases] | |||
'''5. Conclusiones''' | |||
Se pueden crear un cluster de base de datos con otros orquestadores como kubernetes(proximos tutoriales). | |||
'''6. Otros proyectos''' | |||
[https://developer.hashicorp.com/nomad/tutorials/load-balancing/load-balancing-traefik#prerequisites load balancing] | [https://developer.hashicorp.com/nomad/tutorials/load-balancing/load-balancing-traefik#prerequisites load balancing] | ||
https://github.com/hashicorp/demo-nomad-101/blob/master/lab-8/demo-webapp-canary.nomad | [https://github.com/hashicorp/demo-nomad-101/blob/master/lab-8/demo-webapp-canary.nomad Ejemplos de Nomad] | ||
'''7. Agradecimientos ''' | |||
Looper |
Revisión del 21:15 14 ene 2024
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.
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