
# 创建PV（已废弃） - CreateCloudPersistentVolumes
#### 功能介绍
该API用于通过指定云存储服务中的云存储（如EVS、SFS、OBS）去创建PV（PersistentVolume）。该API已废弃，请使用Kubernetes PV相关接口。
![](https://support.huaweicloud.com/api-cce/public_sys-resources/note_3.0-zh-cn.png)
存储管理的URL格式为：https://{clusterid}.Endpoint/uri。其中{clusterid}为集群ID，uri为资源路径，也即API访问的路径。如果使用https://Endpoint/uri，则必须指定请求header中的X-Cluster-ID参数。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cce/cce_02_0099.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cce/cce_02_0395.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /api/v1/cloudpersistentvolumes
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| Content-Type | 是    | String | 消息体的类型（格式） 枚举值： - **application/json;charset=utf-8**  - **application/json**   |
| X-Auth-Token | 是    | String | 调用接口的认证方式分为Token和AK/SK两种，如果您使用的Token方式，此参数为必填，请填写Token的值，获取方式请参见[获取token](https://support.huaweicloud.com/api-cce/cce_02_0004.html)。 最大长度：**16384**                                                                                                                  |
| X-Cluster-ID | 否    | String | 集群 ID，使用**https://Endpoint/uri** 这种URL格式时必须指定此参数。获取方式请参见[如何获取接口URI中参数](https://support.huaweicloud.com/api-cce/cce_02_0271.html)                                                                                                                                                                    |
   
表2请求Body参数 
| 参数         | 是否必选 | 参数类型                                                                              | 描述                                                                                    |
|:---|:---|:---|:---|
| apiVersion | 是    | String                                                                            | API版本，固定值**v1** 缺省值：**v1**                               |
| kind       | 是    | String                                                                            | API类型，固定值**PersistentVolume** 缺省值：**PersistentVolume** |
| metadata   | 是    | [PersistentVolumeMetadata] object | PersistentVolume的元数据信息                                                                |
| spec       | 是    | [PersistentVolumeSpec] object         | PersistentVolume的规格信息                                                                 |
| status     | 否    | [PersistentVolumeStatus] object     | PersistentVolume的状态信息                                                                 |
   
 表3PersistentVolumeMetadata 
| 参数     | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| name   | 是    | String               | PersistentVolume名称，可以包含小写字母、数字、连字符和点，开头和结尾必须是字母或数字，最长253个字符，同一namespace下name不能重复。                                                                                                                                                                                                                                                                                                                               |
| labels | 否    | Map\<String,String\> | PersistentVolume标签，key/value对格式。 - Key：必须以字母或数字开头，可以包含字母、数字、连字符、下划线和点，最长63个字符；另外可以使用DNS子域作为前缀，例如example.com/my-key， DNS子域最长253个字符。  - Value：可以为空或者非空字符串，非空字符串必须以字符或数字开头，可以包含字母、数字、连字符、下划线和点，最长63个字符。   示例："foo": "bar" |
   
 表4PersistentVolumeSpec 
| 参数                            | 是否必选 | 参数类型                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| flexVolume                    | 是    | [FlexVolume] object | Kubernetes的flexvolume存储插件                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| persistentVolumeReclaimPolicy | 否    | String                                                | PersistentVolume的回收策略，包括： - Retain：保留策略允许手动回收资源。当 PersistentVolumeClaim 被删除时，PersistentVolume 仍然存在，volume 被视为"已释放"。  - Recycle：回收策略会在 volume上执行基本擦除（rm -rf / thevolume / \*），可被再次声明使用。  - Delete：对于支持删除回收策略的卷插件，删除操作将从 Kubernetes 中删除 PersistentVolume 对象，并删除外部基础架构中的关联存储资产。动态配置的卷继承其 StorageClass，默认为 Delete。   |
| accessModes                   | 是    | Array of strings                                      | 指定volume应该具有的访问模式。 - ReadWriteOnce：该卷可以被单个节点以读/写模式挂载 说明： 集群版本为v1.13.10且storage-driver版本为1.0.19时，才支持此功能。   - ReadOnlyMany：该卷可以被多个节点以只读模式挂载  - ReadWriteMany：该卷可以被多个节点以读/写模式挂载                                                                                                             |
   
 表5FlexVolume 
| 参数      | 是否必选 | 参数类型                                            | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| driver  | 是    | String                                          | Flexvolume插件名称，请根据使用的存储类型填写： - huawei.com/fuxivol (EVS)  - huawei.com/fuxinfs (SFS)  - huawei.com/fuxiobs (OBS)  - huawei.com/fuxiefs (SFS Turbo)                                                                                                                                                                                                                                                                                 |
| fsType  | 是    | String                                          | 文件系统类型，请根据使用的存储类型填写： - ext4： EVS云硬盘存储，详情可参见[使用云硬盘存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0044.html)。  - nfs：SFS弹性文件存储，详情可参见[使用文件存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0111.html)。  - obs：OBS对象存储，详情可参见[使用对象存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0160.html)。  - efs：SFS Turbo极速文件存储，详情可参见[使用极速文件存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0125.html)。   |
| options | 是    | [Options] object | flexVolume配置项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
 表6Options 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| fsType      | 是    | String | 文件系统类型，请根据使用的存储类型填写： - ext4 (EVS)  - nfs (SFS)  - obs (OBS)  - efs (SFS Turbo)   |
| region      | 是    | String | 云存储所在的region。                                                                                                                                                                                                                                                                                                                                                                                            |
| volumeID    | 是    | String | 云存储的UUID，如果是OBS-bucket则填入名称                                                                                                                                                                                                                                                                                                                                                                              |
| storageType | 是    | String | 指定云存储的类型。 - bs (EVS)  - nfs (SFS)  - obs (OBS)  - efs (SFS Turbo)                |
   
 表7PersistentVolumeStatus 
| 参数          | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| accessModes | 否    | Array of strings | 显示volume实际具有的访问模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| phase       | 否    | String           | PersistentVolume当前所处的状态，包括： - Available（可用）：还是空闲资源，没有被任何PVC绑定  - Bound（已绑定）：卷已经被PVC绑定  - Released（已释放）：之前绑定的PVC被删除，但是资源还未被集群重新声明  - Failed（失败）：该卷的自动回收失败   |
   
#### 响应参数
**状态码： 201**
表8响应Body参数 
| 参数         | 参数类型                                                                               | 描述                                                                                  |
|:---|:---|:---|
| apiVersion | String                                                                             | API版本，固定值**v1** 缺省值：**v1**                           |
| kind       | String                                                                             | API类型，固定值**PersistentVolume** 缺省值：**PersistentVolume** |
| metadata   | [PersistentVolumeMetadata] object | PersistentVolume的元数据信息                                                              |
| spec       | [PersistentVolumeSpec] object         | PersistentVolume的规格信息                                                               |
| status     | [PersistentVolumeStatus] object     | PersistentVolume的状态信息                                                               |
   
 表9PersistentVolumeMetadata 
| 参数     | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| name   | String               | PersistentVolume名称，可以包含小写字母、数字、连字符和点，开头和结尾必须是字母或数字，最长253个字符，同一namespace下name不能重复。                                                                                                                                                                                                                                                                                                                               |
| labels | Map\<String,String\> | PersistentVolume标签，key/value对格式。 - Key：必须以字母或数字开头，可以包含字母、数字、连字符、下划线和点，最长63个字符；另外可以使用DNS子域作为前缀，例如example.com/my-key， DNS子域最长253个字符。  - Value：可以为空或者非空字符串，非空字符串必须以字符或数字开头，可以包含字母、数字、连字符、下划线和点，最长63个字符。   示例："foo": "bar" |
   
 表10PersistentVolumeSpec 
| 参数                            | 参数类型                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| flexVolume                    | [FlexVolume] object | Kubernetes的flexvolume存储插件                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| persistentVolumeReclaimPolicy | String                                                 | PersistentVolume的回收策略，包括： - Retain：保留策略允许手动回收资源。当 PersistentVolumeClaim 被删除时，PersistentVolume 仍然存在，volume 被视为"已释放"。  - Recycle：回收策略会在 volume上执行基本擦除（rm -rf / thevolume / \*），可被再次声明使用。  - Delete：对于支持删除回收策略的卷插件，删除操作将从 Kubernetes 中删除 PersistentVolume 对象，并删除外部基础架构中的关联存储资产。动态配置的卷继承其 StorageClass，默认为 Delete。   |
| accessModes                   | Array of strings                                       | 指定volume应该具有的访问模式。 - ReadWriteOnce：该卷可以被单个节点以读/写模式挂载 说明： 集群版本为v1.13.10且storage-driver版本为1.0.19时，才支持此功能。   - ReadOnlyMany：该卷可以被多个节点以只读模式挂载  - ReadWriteMany：该卷可以被多个节点以读/写模式挂载                                                                                                          |
   
 表11FlexVolume 
| 参数      | 参数类型                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| driver  | String                                           | Flexvolume插件名称，请根据使用的存储类型填写： - huawei.com/fuxivol (EVS)  - huawei.com/fuxinfs (SFS)  - huawei.com/fuxiobs (OBS)  - huawei.com/fuxiefs (SFS Turbo)                                                                                                                                                                                                                                                                                 |
| fsType  | String                                           | 文件系统类型，请根据使用的存储类型填写： - ext4： EVS云硬盘存储，详情可参见[使用云硬盘存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0044.html)。  - nfs：SFS弹性文件存储，详情可参见[使用文件存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0111.html)。  - obs：OBS对象存储，详情可参见[使用对象存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0160.html)。  - efs：SFS Turbo极速文件存储，详情可参见[使用极速文件存储卷](https://support.huaweicloud.com/usermanual-cce/cce_10_0125.html)。   |
| options | [Options] object | flexVolume配置项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表12Options 
| 参数          | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| fsType      | String | 文件系统类型，请根据使用的存储类型填写： - ext4 (EVS)  - nfs (SFS)  - obs (OBS)  - efs (SFS Turbo)   |
| region      | String | 云存储所在的region。                                                                                                                                                                                                                                                                                                                                                                                  |
| volumeID    | String | 云存储的UUID，如果是OBS-bucket则填入名称                                                                                                                                                                                                                                                                                                                                                                    |
| storageType | String | 指定云存储的类型。 - bs (EVS)  - nfs (SFS)  - obs (OBS)  - efs (SFS Turbo)         |
   
 表13PersistentVolumeStatus 
| 参数          | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| accessModes | Array of strings | 显示volume实际具有的访问模式。                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| phase       | String           | PersistentVolume当前所处的状态，包括： - Available（可用）：还是空闲资源，没有被任何PVC绑定  - Bound（已绑定）：卷已经被PVC绑定  - Released（已释放）：之前绑定的PVC被删除，但是资源还未被集群重新声明  - Failed（失败）：该卷的自动回收失败   |
   
#### 请求示例
- 指定EVS云硬盘ID创建PersistentVolume 1.9版本的集群样例：
  ```
  {
    "apiVersion" : "v1",
    "kind" : "PersistentVolume",
    "metadata" : {
      "labels" : {
        "name" : "pv-test"
      },
      "name" : "pv-test"
    },
    "spec" : {
      "accessModes" : [ "ReadWriteMany" ],
      "flexVolume" : {
        "driver" : "huawei.com/fuxivol",
        "fsType" : "ext4",
        "options" : {
          "fsType" : "ext4",
          "kubernetes.io/namespace" : "default",
          "region" : "southchina",
          "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec",
          "storageType" : "bs"
        }
      },
      "persistentVolumeReclaimPolicy" : "Delete"
    }
  }
  ```
  
-
  ```
  {
    "apiVersion" : "v1",
    "kind" : "PersistentVolume",
    "metadata" : {
      "labels" : {
        "name" : "pv-test"
      },
      "name" : "pv-test"
    },
    "spec" : {
      "accessModes" : [ "ReadWriteMany" ],
      "flexVolume" : {
        "driver" : "huawei.com/fuxivol",
        "fsType" : "ext4",
        "options" : {
          "fsType" : "ext4",
          "region" : "southchina",
          "volumeID" : "76e01b29-08b9-11e8-9ca5-1051722006ec",
          "storageType" : "bs"
        }
      },
      "persistentVolumeReclaimPolicy" : "Delete"
    }
  }
  ```
  
 
#### 响应示例
**状态码： 201**
创建PersistentVolume作业下发成功。
```
{
  "kind" : "PersistentVolume",
  "apiVersion" : "v1",
  "metadata" : {
    "name" : "pv-test",
    "namespace" : "default",
    "selfLink" : "/api/v1/namespaces/default/persistentvolumes/pv-test",
    "uid" : "e174188f-ff21-11e7-855b-fa163eaf5675",
    "resourceVersion" : "174229",
    "creationTimestamp" : "2018-01-22T03:11:03Z",
    "labels" : {
      "name" : "pv-test"
    },
    "enable" : true
  },
  "spec" : {
    "capacity" : {
      "storage" : "1Gi"
    },
    "accessModes" : [ "ReadWriteMany" ],
    "flexVolume" : {
      "driver" : "huawei.com/fuxivol",
      "fsType" : "ext4",
      "options" : {
        "fsType" : "ext4",
        "kubernetes.io/namespace" : "default",
        "volumeID" : "0781b22f-4d89-4e9c-b026-80e545cea16c"
      }
    },
    "persistentVolumeReclaimPolicy" : "Delete"
  },
  "status" : {
    "phase" : "Pending"
  }
}
```
#### 状态码
| 状态码 | 描述                        |
|:---|:---|
| 201 | 创建PersistentVolume作业下发成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cce/ErrorCode.html)。
