diff --git a/website/content/api-docs/volumes.mdx b/website/content/api-docs/volumes.mdx index 1c1d6793c..5995137c9 100644 --- a/website/content/api-docs/volumes.mdx +++ b/website/content/api-docs/volumes.mdx @@ -1,12 +1,13 @@ --- layout: api page_title: Volumes - HTTP API -description: The `/volume` endpoints are used to query for and interact with volumes. +description: |- + The Nomad `/volume` and `/volumes` endpoints query for and interact with Container Storage Interface (CSI) volumes and dynamic host volumes. --- # Volumes HTTP API -The `/volume` and `/volumes` endpoints are used to query for and interact with +The `/volume` and `/volumes` endpoints query for and interact with Container Storage Interface (CSI) volumes and dynamic host volumes. ## List Volumes diff --git a/website/content/docs/commands/volume/delete.mdx b/website/content/docs/commands/volume/delete.mdx index 818492739..93ac8975a 100644 --- a/website/content/docs/commands/volume/delete.mdx +++ b/website/content/docs/commands/volume/delete.mdx @@ -2,8 +2,7 @@ layout: docs page_title: 'Commands: volume delete' description: | - The `nomad volume delete` command deletes storage volumes that are either - Container Storage Interface (CSI) volumes or dynamic host volumes. + The `nomad volume delete` command deletes Container Storage Interface (CSI) and dynamic host storage volumes. --- # Command: volume delete diff --git a/website/content/docs/commands/volume/deregister.mdx b/website/content/docs/commands/volume/deregister.mdx index be990f978..d01a667c7 100644 --- a/website/content/docs/commands/volume/deregister.mdx +++ b/website/content/docs/commands/volume/deregister.mdx @@ -2,7 +2,7 @@ layout: docs page_title: 'Commands: volume deregister' description: | - Deregister volumes with CSI plugins. + The `nomad volume deregister` command deregisters Container Storage Interface (CSI) storage volumes. --- # Command: volume deregister diff --git a/website/content/docs/commands/volume/init.mdx b/website/content/docs/commands/volume/init.mdx index ae7cc01e5..042b0b923 100644 --- a/website/content/docs/commands/volume/init.mdx +++ b/website/content/docs/commands/volume/init.mdx @@ -2,7 +2,7 @@ layout: docs page_title: 'Commands: volume init' description: | - Generate an example volume specification. + The `nomad volume init` command generates an example storage volume specification. --- # Command: volume init diff --git a/website/content/docs/commands/volume/register.mdx b/website/content/docs/commands/volume/register.mdx index 4205632a2..0f3278656 100644 --- a/website/content/docs/commands/volume/register.mdx +++ b/website/content/docs/commands/volume/register.mdx @@ -2,10 +2,7 @@ layout: docs page_title: 'Commands: volume register' description: | - The `nomad volume register` command registers storage volumes as either - Container Storage Interface (CSI) volumes or dynamic host volumes. The volume - must already exist on a node or remote storage provider before you can - register the volume for use in job task. + The `nomad volume register` command registers existing Container Storage Interface (CSI) and dynamic host storage volumes. --- # Command: volume register diff --git a/website/content/docs/concepts/plugins/storage/csi.mdx b/website/content/docs/concepts/plugins/storage/csi.mdx index 324986b43..83778c6ed 100644 --- a/website/content/docs/concepts/plugins/storage/csi.mdx +++ b/website/content/docs/concepts/plugins/storage/csi.mdx @@ -1,10 +1,20 @@ --- layout: docs -page_title: CSI Plugins -description: Learn how Nomad manages CSI plugins. +page_title: Container Storage Interface (CSI) Plugins +description: |- + Nomad's Container Storage Interface (CSI) plugin support enables scheduling tasks with external storage volumes that conform to the CSI specification, including AWS Elastic Block Storage (EBS) volumes, Google Cloud Platform (GCP) persistent disks, Ceph, and Portworx. Learn about controller, node, and monolith storage plugins, as well as storage volume lifecycle and state. --- -# CSI plugins +# Container Storage Interface (CSI) Plugins + +This page provides conceptual information on Nomad's storage plugin support, +which enables scheduling tasks with external storage volumes that conform to the +Container Storage Interface (CSI), including AWS Elastic Block Storage (EBS) +volumes, Google Cloud Platform (GCP) persistent disks, Ceph, and Portworx. Learn +about controller, node, and monolith storage plugins, as well as storage volume +lifecycle and state. + +## Introduction Every storage vendor has its own APIs and workflows, and the industry-standard [Container Storage Interface][csi-spec] specification unifies these APIs in a diff --git a/website/content/docs/concepts/plugins/storage/host-volumes.mdx b/website/content/docs/concepts/plugins/storage/host-volumes.mdx index 858969e2a..709df40f5 100644 --- a/website/content/docs/concepts/plugins/storage/host-volumes.mdx +++ b/website/content/docs/concepts/plugins/storage/host-volumes.mdx @@ -2,8 +2,7 @@ layout: docs page_title: Host volume plugins description: |- - Learn how to implement the dynamic host volume plugins specification. - Review examples that create a directory and a Linux filesystem. + Learn how to implement Nomad's dynamic host volume plugins specification so that you can dynamically configure persistent storage on your client nodes. Review examples that create a directory and a Linux filesystem. Reference plugin arguments and environment variables. --- diff --git a/website/content/docs/concepts/plugins/storage/index.mdx b/website/content/docs/concepts/plugins/storage/index.mdx index 3f172bf6a..d2974a8c4 100644 --- a/website/content/docs/concepts/plugins/storage/index.mdx +++ b/website/content/docs/concepts/plugins/storage/index.mdx @@ -1,10 +1,12 @@ --- layout: docs page_title: Storage Plugins -description: Learn how Nomad manages dynamic storage plugins. +description: |- + Storage plugins help you schedule job tasks with dynamically managed storage volumes. Dynamic host volume plugins provision host volumes on client nodes. Container Storage Interface (CSI) plugins provision volumes in + third-party systems, such as AWS Elastic Block Storage (EBS) volumes, Google Cloud Platform (GCP) persistent disks, Ceph, and Portworx. --- -# Storage plugins +# Storage Plugins Nomad has built-in support for scheduling compute resources such as CPU, memory, and networking. Nomad's storage plugin support extends diff --git a/website/content/docs/job-specification/volume.mdx b/website/content/docs/job-specification/volume.mdx index c99322812..d976bbde4 100644 --- a/website/content/docs/job-specification/volume.mdx +++ b/website/content/docs/job-specification/volume.mdx @@ -2,9 +2,7 @@ layout: docs page_title: volume Block - Job Specification description: >- - The "volume" block allows the group to specify that it requires a given - volume from the cluster. Nomad will automatically handle ensuring that the - volume is available and mounted into the task. + Configure storage volumes in the "volume" block of a Nomad job specification. Specify dynamic host or Container Storage Interface (CSI) volume type, node access mode, filesystem or block device attachment mode, and mount options. Enable read only access and mounting a unique volume per node. Learn about volume interpolation. --- # `volume` Block @@ -96,23 +94,23 @@ host volumes with `type = "host"`: must exactly match one of the volume's `capability` blocks. - For CSI volumes the `access_mode` is required. Can be one of the following: - + - `"single-node-reader-only"` - `"single-node-writer"` - `"multi-node-reader-only"` - `"multi-node-single-writer"` - `"multi-node-multi-writer"` - - Most CSI plugins support only single-node modes. + + Most CSI plugins support only single-node modes. Consult the documentation of the storage provider and CSI plugin. - For dynamic host volumes the `access_mode` is optional. Can be one of the following: - + - `"single-node-writer"` - `"single-node-reader-only"` - `"single-node-single-writer"` - - `"single-node-multi-writer"` - + - `"single-node-multi-writer"` + Defaults to `single-node-writer` unless `read_only = true`, in which case it defaults to `single-node-reader-only`. diff --git a/website/content/docs/operations/stateful-workloads.mdx b/website/content/docs/operations/stateful-workloads.mdx index 7a10f3a83..d96919241 100644 --- a/website/content/docs/operations/stateful-workloads.mdx +++ b/website/content/docs/operations/stateful-workloads.mdx @@ -2,7 +2,7 @@ layout: docs page_title: Considerations for Stateful Workloads description: |- - Learn about persistent storage options for stateful workloads on Nomad. + Learn about persistent storage options for stateful workloads on Nomad. Compare AWS, Azure, and Google Cloud Platform (GCP) storage services. Review the advantages and disadvantages of using Container Storage Interface (CSI) volumes, dynamic host volumes, static host volumes, and ephemeral disks. --- # Considerations for Stateful Workloads @@ -141,7 +141,7 @@ NFS/CIFS volume from a NAS or a public cloud service such as AWS EFS. Therefore you can use host volumes for both local somewhat persistent storage and for highly persistent networked storage. -Host volumes may be dynamic or static. Provision dynamic host volumes +Host volumes may be dynamic or static. Provision dynamic host volumes with the [`volume create`](/nomad/docs/commands/volume/create) command or API. [ACL policies](/nomad/docs/other-specifications/acl-policy#namespace-rules) allow delegation of control for storage within a namespace to Nomad diff --git a/website/content/docs/other-specifications/volume/capability.mdx b/website/content/docs/other-specifications/volume/capability.mdx index 1b65b53e4..92f4b7364 100644 --- a/website/content/docs/other-specifications/volume/capability.mdx +++ b/website/content/docs/other-specifications/volume/capability.mdx @@ -1,7 +1,8 @@ --- layout: docs page_title: capability Block - Volume Specification -description: The "capability" block allows for validating the capability of a volume. +description: |- + Configure Container Storage Interface (CSI) and dynamic host storage volume capability in the "capability" block of the Nomad volume specification. Set single node or multiple node access and file system or block device attachment mode. --- # `capability` Block diff --git a/website/content/docs/other-specifications/volume/mount_options.mdx b/website/content/docs/other-specifications/volume/mount_options.mdx index efbb9bee1..c963df5be 100644 --- a/website/content/docs/other-specifications/volume/mount_options.mdx +++ b/website/content/docs/other-specifications/volume/mount_options.mdx @@ -1,7 +1,8 @@ --- layout: docs page_title: mount_options Block - Volume Specification -description: The "mount_options" block allows for configuring how a volume is mounted. +description: |- + Configure Container Storage Interface (CSI) storage volume file system type and mount flags in the "mount_options" block of the Nomad volume specification. --- # `mount_options` Block diff --git a/website/content/docs/other-specifications/volume/topology_request.mdx b/website/content/docs/other-specifications/volume/topology_request.mdx index b25853706..27cbfda9f 100644 --- a/website/content/docs/other-specifications/volume/topology_request.mdx +++ b/website/content/docs/other-specifications/volume/topology_request.mdx @@ -1,7 +1,8 @@ --- layout: docs page_title: topology_request Block - Volume Specification -description: The "topology_request" block allows specifying locations where the provisioned volume must be accessible from. +description: |- + Configure Container Storage Interface (CSI) storage volume topology in the "topology_request" block of the Nomad volume specification. Specify region, zone, and rack so that Nomad can access a provisioned CSI volume. Review volume creation examples with preferred and required topologies. --- # `topology_request` Block