Quiero ejecutar raw_exec para instalar un nginx, ¿es posible? o cómo se puede hacer esto solo con raw_exec. ya que este código no se iniciará/ejecutará.
job "raw-exec" { datacenters = ["dc1"] type = "service" group "exec" { count = 1 update { max_parallel = 1 min_healthy_time = "10s" healthy_deadline = "5m" progress_deadline = "10m" auto_revert = true } task "raw-exec-test" { driver = "raw_exec" config { command = "/bin/apt" args = ["-y", "install", "nginx.service"] } resources { cpu = 100 memory = 125 } } } }Sin un estado de trabajo, es difícil solucionar lo que está mal. nomad job status raw-exec mostraría el estado de su trabajo. También mostrará las asignaciones creadas por el trabajo. Puede verificar qué está mal con las asignaciones (el conjunto de tareas en un trabajo debe ejecutarse en un nodo en particular) que Nomad crea mediante nomad alloc status YOUR-ALLOC-ID .
Ejecuté la siguiente especificación de trabajo de Nomad y funcionó bien en mi MacBook. Ejecuté nomad usando nomad agent -dev en una ventana de terminal, luego creé el archivo test.job en otra ventana de terminal y ejecuté nomad job run test.job e instalé el software htop en la MacBook.
job "raw-exec" { datacenters = ["dc1"] type = "batch" group "exec" { count = 1 task "raw-exec-test" { driver = "raw_exec" config { command = "brew" args = ["install", "htop"] } resources { cpu = 100 memory = 125 } } } } Observe que he cambiado el type de trabajo de servicio a lote. Los trabajos por lotes están diseñados para ejecutarse una vez, mientras que los servicios deben estar en funcionamiento todo el tiempo. Supongo que desea que su comando apt install -y nginx se ejecute solo una vez. Puede leer más sobre los tipos de trabajo aquí .