mirror of
https://github.com/kemko/nomad.git
synced 2026-01-05 09:55:44 +03:00
62 lines
2.5 KiB
Plaintext
62 lines
2.5 KiB
Plaintext
## 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][acl_guide] for more information on how to
|
|
protect Nomad cluster operations.
|
|
|
|
## Configuration
|
|
|
|
Refer to the [plugin block documentation][plugin] for examples on how to use the
|
|
plugin block in Nomad's client configuration. Review the [Docker driver's client
|
|
requirements section][docker_plugin] 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] | |
|
|
|
|
Each task driver page documents the configuration available in a [job
|
|
specification](/nomad/docs/job-specification), the environments you can use the
|
|
task driver in, and the resource isolation mechanisms available.
|
|
|
|
## Community task drivers
|
|
|
|
You may also use [community-supported task driver
|
|
plugins](/nomad/plugins/drivers/community/).
|
|
|
|
## 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][plugin_guide] for details.
|
|
|
|
|
|
[plugin]: /nomad/docs/configuration/plugin
|
|
[docker_plugin]: /nomad/docs/drivers/docker#client-requirements
|
|
[plugin_guide]: /nomad/docs/concepts/plugins/task-drivers
|
|
[acl_guide]: /nomad/tutorials/access-control
|
|
[Docker]: /nomad/docs/drivers/docker
|
|
[Exec2]: /nomad/plugins/drivers/exec2
|
|
[Isolated Fork/Exec]: /nomad/docs/drivers/exec
|
|
[Podman]: /nomad/plugins/drivers/podman
|
|
[Java]: /nomad/docs/drivers/java
|
|
[Virt]: /nomad/plugins/drivers/virt
|
|
[QEMU]: /nomad/docs/drivers/qemu
|
|
[Raw Fork/Exec]: /nomad/docs/drivers/raw_exec
|