-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Docs SEO: task drivers and plugins; refactor virt section
- Loading branch information
Showing
36 changed files
with
333 additions
and
331 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,7 @@ | ||
--- | ||
layout: docs | ||
page_title: Device Plugins | ||
description: Device Plugins are used to expose devices to tasks in Nomad. | ||
description: Learn how device driver plugins expose devices such as GPUs USBs to tasks in Nomad jobs. | ||
--- | ||
|
||
# Device Plugins | ||
|
||
Device plugins are used to detect and make devices available to tasks in | ||
Nomad. Devices are physical hardware that exists on a client node such as a | ||
GPU or an FPGA. By having extensible device plugins, Nomad has the flexibility | ||
to support a broad set of devices and allows the community to build additional | ||
device plugins as needed. | ||
|
||
The list of supported device plugins is provided on the left of this page. | ||
Each device plugin documents its configuration and installation requirements, | ||
the attributes it fingerprints, and the environment variables it exposes to | ||
tasks. | ||
@include 'device-driver-intro.mdx' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,7 @@ | ||
--- | ||
layout: docs | ||
page_title: Task Drivers | ||
description: Task Drivers are used to integrate with the host OS to run tasks in Nomad. | ||
description: Learn how Nomad's bundled task drivers integrate with the host OS to run job tasks in isolation. | ||
--- | ||
|
||
# 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. | ||
|
||
Task drivers are pluggable. This gives you the flexibility to introduce your | ||
own drivers without having to recompile Nomad. You can view the | ||
[plugin block][plugin] documentation for examples on how to use the plugin | ||
block in Nomad's client configuration. See the Docker driver's | ||
[Client Requirements][docker_plugin] for a more detailed and specific example. | ||
|
||
The Nomad binary includes the default task drivers, so you do not have to | ||
download them separately. | ||
|
||
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](/nomad/docs/job-specification), the environments it can be | ||
used in, and the resource isolation mechanisms available. | ||
|
||
For details on authoring a task driver plugin, please refer to the [plugin | ||
authoring guide][plugin_guide]. | ||
|
||
Task driver resource isolation is intended to provide a degree of separation of | ||
Nomad client CPU / memory / storage between tasks. Resource isolation | ||
effectiveness is dependent upon individual task driver implementations and | ||
underlying client operating systems. Task drivers do include various | ||
security-related controls, but the Nomad client to task interface should not be | ||
considered a security boundary. See the [access control guide][acl_guide] for | ||
more information on how to protect Nomad cluster operations. | ||
|
||
[plugin]: /nomad/docs/configuration/plugin | ||
[docker_plugin]: /nomad/docs/drivers/docker#client-requirements | ||
[plugin_guide]: /nomad/docs/concepts/plugins | ||
[acl_guide]: /nomad/tutorials/access-control | ||
@include 'task-driver-intro.mdx' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
|
||
# Device driver plugins | ||
|
||
Use device driver plugins to detect and make devices available to tasks in | ||
Nomad jobs. Devices are physical hardware that exists on a client node such as a | ||
GPU or an FPGA. By having extensible device plugins, Nomad has the flexibility | ||
to support a broad set of devices and allows the community to build additional | ||
device plugins as needed. | ||
|
||
## Nomad device drivers | ||
|
||
We support the [NVIDIA] device driver plugin, which you must install | ||
separately. Refer to the [NVIDIA] documentation for instructions. | ||
|
||
## Community device drivers | ||
|
||
The community supports the [USB] device driver plugin. | ||
|
||
## Create device drivers | ||
|
||
Nomad's device 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. | ||
|
||
|
||
[NVIDIA]: /nomad/plugins/devices/nvidia | ||
[USB]: /nomad/plugins/devices/community/usb | ||
[plugin_guide]: /nomad/docs/concepts/plugins/devices |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Task drivers | ||
|
||
Nomad clients use task drivers 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. | ||
|
||
Task driver resource isolation provides a degree of separation of Nomad client | ||
CPU, memory, and storage between tasks. Resource isolation effectiveness depends | ||
upon individual task driver implementations and underlying client operating | ||
systems. Task drivers do include various security-related controls, but the | ||
Nomad client-to-task interface should not be considered 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][plugin] documentation for examples on how to use the | ||
plugin block in Nomad's client configuration. Review the Docker driver's [Client | ||
Requirements][docker_plugin] section for a detailed example. | ||
|
||
## Nomad task drivers | ||
|
||
The Nomad binary contains several bundled task drivers. We also support | ||
additional task drivers that you may install separately. | ||
|
||
| Bundled with Nomad | Separate installation | | ||
|----------------------|-----------------------| | ||
| [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/index | ||
[QEMU]: /nomad/docs/drivers/qemu | ||
[Raw Fork/Exec]: /nomad/docs/drivers/raw_exec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,7 @@ | ||
--- | ||
layout: docs | ||
page_title: 'Device Plugins: External' | ||
description: 'A list of external Device Plugins.' | ||
description: Learn how device driver plugins extend Nomad functionality to run jobs on hardware such as GPUs and USBs. | ||
--- | ||
|
||
# External Device Plugins | ||
|
||
Nomad has a plugin system for defining task drivers. External device driver | ||
plugins will have the same user experience as built in devices. | ||
|
||
Below is a list of official external task drivers you can use with Nomad: | ||
|
||
- [Nvidia][nvidia] | ||
|
||
[plugin_guide]: /nomad/docs/concepts/plugins | ||
[nvidia]: /nomad/plugins/devices/nvidia | ||
@include 'device-driver-intro.mdx' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.