nomad: scheduling tasks and services

nomad: könnte man das auch als job scheduler missbrauchen?

Nomad von Hashicorp (https://www.nomadproject.io/) ist eigentlich ein verteilter Service Starter der zusammen mit consul in verteilten Umgebungen Services bereitstellen und konfigurieren kann.

Jetzt bin ich ins grübeln geraten ob ich das nicht als Job Scheduler (statt dem unsäglichen Windows Task Scheduler) für mich verwenden könnte, da mir auch andere gängige Lösungen (eine Jenkins Installation zweckentfremden) nicht gefallen.

pro:

  • plattformunabhängig

  • könnte mir auch Dienste starten (tomcat) …​ auch wenn ich dazu nicht unbedingt bedarf habe.

  • UI

  • Logs, Überwachung, Versionieriung von Jobs, Upgrades, Scheduler(cron like)

  • passt gut zu Prometheus das bei mir schon läuft.

  • Kommandozeile ist Feature complete, API auch.

cons:

  • nicht integriert in Windows. Insbesondere kann ich keine User Accounts festlegen pro Job .. das geht nur unter Unix. Jikes!

  • Absicherung mit Zertifikaten müsste ich mir ansehen, CA hätte ich laufen.

  • keine Jobketten (brauch ich auch nicht, aber man sieht dass es keinen klassisches Batch als Ziel hat)

Momentan denke ich mir: unter Linux ja, nicht am Arbeitsplatz mit Windows.

2018 08 05.nomad
Figure 1. nomad ui
sample nomad job definition
job "simplejob" {
  datacenters = ["dc1"]
  type = "batch"
  group "example" {
    task "dir" {
      driver = "raw_exec"
      config {
        command = "c:/Windows/system32/getmac.exe"
      }
    }
  }
}