Creating a PVC
Function
This API is used to create a PersistentVolumeClaim (PVC) in a specified namespace. A PVC is a request for PersistentVolume (PV). The PV carries details of real cloud storage such as EVS disks, SFS file systems, and OBS buckets.
The format of the storage management API URL is https://{clusterid}.Endpoint/uri. In the URL, {clusterid} indicates the cluster ID, and uri indicates the resource path, that is, the path for API access. If https://Endpoint/uri is used, the X-Cluster-ID parameter in the request header must be specified.
URI
POST /api/v1/namespaces/{namespace}/cloudpersistentvolumeclaims
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
namespace |
Yes |
String |
A namespace allows you to organize resources and objects into non-overlapping groups (for example, per project team or user group). The value must start with a lowercase letter and cannot end with a hyphen (-). Only digits, lowercase letters, and hyphens (-) are allowed. Constraints:
Minimum: 1 Maximum: 63 |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
Content-Type |
Yes |
String |
Message body type (format). Default: application/json |
|
X-Auth-Token |
Yes |
String |
Requests for calling an API can be authenticated using either a token or AK/SK. If token-based authentication is used, this field is mandatory and must be set to a user token. For details about how to obtain a token, see Authentication. Maximum: 16384 |
|
X-Cluster-ID |
No |
String |
Cluster ID. This field is mandatory when the URL format https://Endpoint/uri is used. For details about how to obtain the cluster ID, see How to Obtain Parameters in the API URI. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
apiVersion |
Yes |
String |
API version. The value is fixed at v1. Default: v1 |
|
kind |
Yes |
String |
API type. The value is fixed at PersistentVolumeClaim. Default: PersistentVolumeClaim |
|
metadata |
Yes |
Cluster object metadata, which is a collection of attributes. |
|
|
spec |
Yes |
PersistentVolumeClaimSpec object |
Detailed description of the cluster object. CCE creates or updates objects by defining or updating spec. |
|
status |
No |
PersistentVolumeClaimStatus object |
PVC status. The request to create a PVC does not need to carry this parameter. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
name |
Yes |
String |
PVC name. Enter 1 to 253 characters starting and ending with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PVC names must be unique in a namespace. |
|
labels |
No |
String |
PVC labels, in the format of key-value pairs. Key: A key must contain 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key. Example DNS subdomain: example.com/my-key The DNS subdomain can contain a maximum of 253 characters.
|
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
volumeID |
Yes |
String |
ID of an existing storage volume.
|
|
storageType |
Yes |
String |
Cloud storage class. This parameter is used together with volumeID. That is, volumeID and storageType must be configured at the same time. bs: EVS. For details, see Using EVS Disks as Storage Volumes. nfs: SFS. For details, see Using SFS File Systems as Storage Volumes. obs: OBS. For details, see Using OBS Buckets as Storage Volumes]. efs: SFS Turbo. For details, see Using SFS Turbo File Systems as Storage Volumes |
|
accessModes |
Yes |
Array of strings |
Access mode of the volume. Only the first value in all selected options is valid.
NOTE:
This function is supported only when the cluster version is v1.13.10 and the storage-driver version is 1.0.19.
Enumeration values:
|
|
storageClassName |
No |
String |
Storage class name of the PVC. |
|
volumeName |
No |
String |
Name of the PV bound to the PVC. |
|
resources |
No |
ResourceRequirements object |
Resource requests and limits. |
|
volumeMode |
No |
String |
PV type specified by the PVC. |
Response Parameters
Status code: 201
|
Parameter |
Type |
Description |
|---|---|---|
|
apiVersion |
String |
API version. The value is fixed at v1. Default: v1 |
|
kind |
String |
API type. The value is fixed at PersistentVolumeClaim. Default: PersistentVolumeClaim |
|
metadata |
Cluster object metadata, which is a collection of attributes. |
|
|
spec |
PersistentVolumeClaimSpec object |
Detailed description of the cluster object. CCE creates or updates objects by defining or updating spec. |
|
status |
PersistentVolumeClaimStatus object |
PVC status. The request to create a PVC does not need to carry this parameter. |
|
Parameter |
Type |
Description |
|---|---|---|
|
name |
String |
PVC name. Enter 1 to 253 characters starting and ending with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. PVC names must be unique in a namespace. |
|
labels |
String |
PVC labels, in the format of key-value pairs. Key: A key must contain 1 to 63 characters starting with a letter or digit. Only letters, digits, hyphens (-), underscores (_), and periods (.) are allowed. A DNS subdomain name can be used as the prefix of a key. Example DNS subdomain: example.com/my-key The DNS subdomain can contain a maximum of 253 characters.
|
|
Parameter |
Type |
Description |
|---|---|---|
|
volumeID |
String |
ID of an existing storage volume.
|
|
storageType |
String |
Cloud storage class. This parameter is used together with volumeID. That is, volumeID and storageType must be configured at the same time. bs: EVS. For details, see Using EVS Disks as Storage Volumes nfs: SFS. For details, see Using SFS File Systems as Storage Volumes. obs: OBS. For details, see Using OBS Buckets as Storage Volumes efs: SFS Turbo. For details, see Using SFS Turbo File Systems as Storage Volumes |
|
accessModes |
Array of strings |
Access mode of the volume. Only the first value in all selected options is valid.
NOTE:
This function is supported only when the cluster version is v1.13.10 and the storage-driver version is 1.0.19.
Enumeration values:
|
|
storageClassName |
String |
Storage class name of the PVC. |
|
volumeName |
String |
Name of the PV bound to the PVC. |
|
resources |
ResourceRequirements object |
Resource requests and limits. |
|
volumeMode |
String |
PV type specified by the PVC. |
Example Requests
Specifying an EVS Volume ID and Creating a PVC
POST /api/v1/namespaces/default/cloudpersistentvolumeclaims
{
"apiVersion" : "v1",
"kind" : "PersistentVolumeClaim",
"metadata" : {
"name" : "csms-dev-create",
"namespace" : "default"
},
"spec" : {
"volumeID" : "86b29e16-23db-11e7-9c83-fa163ec08232",
"storageType" : "bs",
"accessModes" : [ "ReadWriteMany" ]
}
}
Example Responses
Status code: 201
The job for creating a PVC is successfully delivered.
{
"kind" : "PersistentVolumeClaim",
"apiVersion" : "v1",
"metadata" : {
"name" : " csms-dev-create ",
"namespace" : "default",
"selfLink" : "/api/v1/namespaces/default/persistentvolumeclaims/db-mysql-0",
"uid" : "86b29e16-23db-11e7-9c83-fa163ec08232",
"resourceVersion" : "1793115",
"creationTimestamp" : "2017-04-18T02:05:42Z"
},
"spec" : {
"volumeName" : "csms-dev-create ",
"accessModes" : [ "ReadWriteMany" ],
"resources" : {
"requests" : {
"storage" : "1Gi"
}
}
},
"status" : {
"phase" : "Pending",
"accessModes" : [ "ReadWriteMany" ]
}
}
Status Codes
|
Status Code |
Description |
|---|---|
|
201 |
The job for creating a PVC is successfully delivered. |
Error Codes
See Error Codes.
Last Article: Storage Management
Next Article: Deleting a PVC
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.