Nomad
capability Block
Placement | volume -> capability |
The capability
block allows validating that a volume meets the requested
capabilities.
id = "ebs_prod_db1"
namespace = "default"
name = "database"
type = "csi"
plugin_id = "ebs-prod"
capacity_max = "200G"
capacity_min = "100G"
capability {
access_mode = "single-node-reader-only"
attachment_mode = "file-system"
}
You must provide at least one capability
block, and you must provide a block
for each capability you intend to use in a job's volume
block.
capability
Parameters
access_mode
(string: <required>)
- Defines whether a volume should be available concurrently. Can be one of"single-node-reader-only"
,"single-node-writer"
,"multi-node-reader-only"
,"multi-node-single-writer"
, or"multi-node-multi-writer"
. Most CSI plugins support only single-node modes. Consult the documentation of the storage provider and CSI plugin. Can be one of the following:- `"single-node-reader-only"`: Jobs can only request the volume with read-only access, and only one node can mount the volume at a time. - `"single-node-writer"`: Jobs can request the volume with read/write or read-only access, and only one node can mount the volume at a time. - `"multi-node-reader-only"`: Jobs can only request the volume with read-only access, but multiple nodes can mount the volume simultaneously. - `"multi-node-single-writer"`: Jobs can request the volume with read/write or read-only access, but the scheduler only allows one allocation to have read/write access. Multiple nodes can mount the volume simultaneously. - `"multi-node-multi-writer"`: Jobs can request the volume with read/write or read-only access, and the scheduler allows multiple allocations to have read/write access. Multiple nodes can mount the volume simultaneously.
attachment_mode
(string: <required>)
- The storage API that will be used by the volume. Most storage providers will support"file-system"
, to mount volumes using the CSI filesystem API. Some storage providers will support"block-device"
, which will mount the volume with the CSI block device API within the container.
capability
Examples
The following examples only show the capability
blocks. Remember that the
capability
block is only valid in the placement shown above.
Multiple capabilities
This examples shows a volume that must satisfy multiple capability requirements.
capability {
access_mode = "single-node-reader-only"
attachment_mode = "file-system"
}
capability {
access_mode = "single-node-writer"
attachment_mode = "file-system"
}