Nomad en Producción · Lección 11
¿Qué propósito cumple declarar explícitamente los recursos de CPU y memoria que una task necesita dentro de la especificación de un job de Nomad?
Le indica al scheduler cuánta capacidad reservar para esa task específica al decidir en qué nodo colocarla, evitando sobrecargar un nodo client con más trabajo del que realmente puede soportar según su capacidad real disponible
Declarar recursos de CPU y memoria en la especificación del job no tiene absolutamente ninguna relación real con las decisiones de colocación que toma el scheduler de Nomad
Solo es relevante declarar recursos si el job tiene exactamente una única task en total, sin ninguna posibilidad real de tener múltiples tasks distintas con requisitos diferentes
Una task sin recursos de CPU o memoria declarados explícitamente siempre tiene garantizado un acceso completo e ilimitado a toda la capacidad disponible del nodo client donde se ejecute
Nomad en Producción · Lección 11
Completa el código
La declaración evita sobrecargar un nodo client con más trabajo del que realmente puede
Revisa: evita sobrecargar un nodo client con más trabajo del que realmente puede soportar.
Nomad en Producción · Lección 11
¿Por qué el scheduler de Nomad necesitaría saber cuánta memoria requiere cada task antes de decidir colocarla en un nodo específico, en vez de simplemente colocar tareas sin considerar la capacidad real disponible en ese nodo?
Pista: sin conocer cuánta memoria requiere realmente cada task, el scheduler no tendría forma de saber si un nodo client específico tiene capacidad suficiente disponible antes de colocar esa tarea ahí; colocar tareas sin considerar esa información podría sobrecargar un nodo más allá de su capacidad física real, causando problemas de rendimiento o fallos en las tareas que terminan compitiendo por recursos insuficientes en ese mismo nodo sobrecargado.
✓
¡Lección completada!
Asignación de recursos — CPU, memoria, red
0
XP ganado
3
Vidas restantes