diff --git a/website/content/api-docs/volumes.mdx b/website/content/api-docs/volumes.mdx index 1c1d6793c2a..5995137c9d9 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 818492739c2..93ac8975a6b 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 be990f9781a..d01a667c7a8 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 ae7cc01e580..042b0b923ec 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 4205632a21e..0f3278656bb 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 324986b433d..7511d48db00 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 858969e2a4e..4fd3e938660 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 3f172bf6a0a..d2974a8c431 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 c9932281210..d976bbde4b2 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 7a10f3a83d5..d96919241fc 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 1b65b53e4e7..92f4b7364af 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 efbb9bee100..c963df5be94 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 b2585370640..27cbfda9fcd 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