» Task Drivers
Task drivers are used by Nomad clients to execute a task and provide resource isolation. By having extensible task drivers, Nomad has the flexibility to support a broad set of workloads across all major operating systems.
Starting with Nomad 0.9, task drivers are now pluggable. This gives users the
flexibility to introduce their own drivers without having to recompile Nomad.
You can view the plugin stanza documentation for examples on how to
use the plugin
stanza in Nomad's client configuration. Note that we have
introduced new syntax when specifying driver options in the client configuration
(see docker for an example). Keep in mind that even though all
built-in drivers are now plugins, Nomad remains a single binary and maintains
backwards compatibility except with the lxc
driver.
The list of supported task drivers is provided on the left of this page. Each task driver documents the configuration available in a job specification, the environments it can be used in, and the resource isolation mechanisms available.
Nomad strives to mask the details of running a task from users and instead provides a clean abstraction. It is possible for the same task to be executed with different isolation levels depending on the client running the task. The goal is to use the strictest isolation available and gracefully degrade protections where necessary.