Nomad
Configure Nomad task drivers
Nomad's bundled task drivers integrate with the host OS to run job tasks in isolation. Review driver capabilities, client configuration, and reference information for the Docker, Isolated Fork/Exec, Java, QEMU, and Raw Fork/Exec task drivers.
Introduction
Nomad clients use task drivers to execute a task and provide resource isolation. Extensible task drivers provide Nomad the flexibility to support a broad set of workloads across all major operating systems.
Task driver resource isolation provides a degree of separation for Nomad's client CPU, memory, and storage between tasks. Resource isolation effectiveness depends upon individual task driver implementations and underlying client operating systems. Task drivers include various security-related controls but do not use the Nomad client-to-task interface as a security boundary. Refer to the access control guide for more information on how to protect Nomad cluster operations.
Configuration
Refer to the plugin block documentation for examples on how to use the plugin block in Nomad's client configuration. Review the Docker driver's client requirements section for a detailed example.
Nomad task drivers
The Nomad binary contains several bundled task drivers. We also support additional task driver plugins that you may install separately.
Bundled with Nomad | Plugins |
---|---|
Docker | Exec2 |
Isolated Fork/Exec | Podman |
Java | Virt |
QEMU | |
Raw Fork/Exec |
Community task drivers
You may also use community-supported task driver plugins.
Use task drivers in jobs
Refer to Use Nomad task drivers in jobs for usage information.
Create task drivers
Nomad's task driver architecture is pluggable, which gives you the flexibility to create your own drivers without having to recompile Nomad. Refer to the plugin authoring guide for details.