- URL:https://<root>/system/volumes/configurations/create(POST only)
- Required Capability: Default administrator role | Security and infrastructure
- Version Introduced:11.2
Description
The create operation is used to configure PersistentVolumeClaim (PVC) volume templates that are used to create on-demand volumes for each pod associated with a specific deployment.
Administrators will need to define the name of the volume and define the properties in the spec JSON object. For more information on the configurable properties and their accepted values, see the Spec properties section below.
To configure a GIS service to use a configure PVC template, the template's ID (which is returned by the Configurations resource) and purpose will need to be added to a deployment's JSON. For more information, see the Edit Deployment documentation.
Tip:
For organizations that run ArcGIS Enterprise on Kubernetes from a cloud environment, PVC volume templates should be configured at the node pool level.
Ephemeral volumes
At ArcGIS Enterprise 11.2 on Kubernetes, the create operation can be used to create PVC volume templates that will generate multiple ephemeral volumes on-demand for the pods of a deployment. Each pod is then able to use its own ephemeral volume, providing each pod with its own resources to draw from. Once the pods are deleted, and the ephemeral volumes are no longer needed, the volumes are also removed.
Ephemeral volumes are ideal for services, such as raster analytics, that do not need to have access to persisted data, but rather perform large analysis jobs that need to load data to a temporary space for processing.
Ephemeral volumes are not useful for cases where data needs to be read by all pods of a particular service or deployment. For those cases, administrators should consider creating persistent volumes.
Request parameters
Parameter | Details |
---|---|
volumeJson | The JSON object that specifies the volume's configuration information. The name property and spec JSON object will need to be updated. All other information should not be modified. Example
|
f | The response format. The default format is html. Values: html | json | pjson |
Spec properties
Note:
The following table outlines some of the configurable properties that can be included in the spec JSON object, specifically those that apply to the PVC volumes ArcGIS Enterprise on Kubernetes supports. However, the spec JSON object is open to support other properties that are unspecified in this documentation. Prior to creating PVC volume templates, reference the Kubernetes documentation on volumes for more detailed information, additional spec properties, and any potential updates made to those areas.
Property | Details |
---|---|
accesModes | Specifies how the volume can be mounted. This property accepts the following values:
|
resources | Specifies the amount of storage the pods can request from the volume. |
storageClassName | Reflects the name of a defined StorageClass that the PVC volume is connection to. |
volumeMode | Specifies the volume type. This property accepts the following values:
|
volumeName | Specifies the name of the associated PV that the PVC will refer and bind to. |
labels | Lists labels that match with the associated PV's labels. |
Example usage
The following is a sample POST request for the create operation:
POST /context/admin/system/volumes/configurations/create HTTP/1.1
Host: organization.domain.com
Content-Type: application/x-www-form-urlencoded
Content-Length: []
volumeJson={
"name": "ephemeral-test",
"type": "PVC_TEMPLATE",
"spec": {
"storageClassName": "managed-premium",
"resources": {"requests": {"storage": "8Gi"}},
"accessModes": ["ReadWriteOnce"],
"volumeMode": "Filesystem",
"volumeName": "example-name",
"labels": {
"label1": "value1",
"label2": "value2"
}
},
"revision": 1
}&f=pjson&token= 08_b0sXFBn7UYUmkEwXNiaKY6frp0GZGyxY6JJdEGWenjP0u_rXvr6EGGCwEsiZbcn-Nbhk7B9itJSDGJAOeY1RYFDJp68R6WaU243A7HNMDFzbduAiuonrKStg9AxnhD8xU8gebu0PNJXMPTHO_dCby8v86fiTW_-xsR-yyWrspjdiu8q2rt4qPB0by1Q3jL6I6J540dFNDvP-yfvlrmLRUEvXRQfORXqxKbJrOazLOTnWD5ZWjJNDwQ800vkQK
JSON Response example
{"status": "success"}