更新时间:2024-03-12 GMT+08:00

删除PV

功能介绍

该API用于删除指定Namespace下的PV(PersistentVolume)对象,并可以选择是否保留后端云存储。该API已废弃,请使用Kubernetes PV相关接口。

存储管理的URL格式为:https://{clusterid}.Endpoint/uri。其中{clusterid}为集群ID,uri为资源路径,也即API访问的路径。如果使用https://Endpoint/uri,则必须指定请求header中的X-Cluster-ID参数。

URI

DELETE /api/v1/cloudpersistentvolumes/{name}

表1 路径参数

参数

是否必选

参数类型

描述

name

String

需要删除的PersistentVolume的名称

name格式为:Volume名称?deleteVolume=BOOLEAN&storageType=云存储类型],中括号内可省略,示例:

volume-49f1?deleteVolume=true&storageType=bs

volume-49f1

其中:

deleteVolume:删除PersistentVolume后是否保留后端关联的云存储。false表示不删除,ture表示删除,默认为false。

说明:

当为efs时,不支持删除存储,所以不能设为true。

storageType:云存储的类型,和deleteVolume搭配使用。即deleteVolume和storageType必须同时配置。

说明:
  • bs:EVS云存储
  • nfs:SFS弹性文件存储
  • obs:OBS对象存储 [> - efs:SFS Turbo极速文件存储

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

消息体的类型(格式)

枚举值:

  • application/json;charset=utf-8
  • application/json

X-Auth-Token

String

调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值,获取方式请参见获取token

最大长度:16384

X-Cluster-ID

String

集群 ID,使用https://Endpoint/uri这种URL格式时必须指定此参数。获取方式请参见如何获取接口URI中参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

apiVersion

String

API版本,固定值v1

缺省值:v1

kind

String

API类型,固定值PersistentVolume

缺省值:PersistentVolume

metadata

PersistentVolumeMetadata object

PersistentVolume的元数据信息

spec

PersistentVolumeSpec object

PersistentVolume的规格信息

status

PersistentVolumeStatus object

PersistentVolume的状态信息

表4 PersistentVolumeMetadata

参数

参数类型

描述

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"

表5 PersistentVolumeSpec

参数

参数类型

描述

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:该卷可以被多个节点以读/写模式挂载
表6 FlexVolume

参数

参数类型

描述

driver

String

Flexvolume插件名称,请根据使用的存储类型填写:

  • huawei.com/fuxivol (EVS)
  • huawei.com/fuxinfs (SFS)
  • huawei.com/fuxiobs (OBS)
  • huawei.com/fuxiefs (SFS Turbo)

fsType

String

文件系统类型,请根据使用的存储类型填写:

options

Options object

flexVolume配置项

表7 Options

参数

参数类型

描述

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)
表8 PersistentVolumeStatus

参数

参数类型

描述

accessModes

Array of strings

显示volume实际具有的访问模式。

phase

String

PersistentVolume当前所处的状态,包括:

  • Available(可用):还是空闲资源,没有被任何PVC绑定
  • Bound(已绑定):卷已经被PVC绑定
  • Released(已释放):之前绑定的PVC被删除,但是资源还未被集群重新声明
  • Failed(失败):该卷的自动回收失败

请求示例

响应示例

状态码: 200

删除指定PersistentVolume作业下发成功。

{
  "kind" : "PersistentVolume",
  "apiVersion" : "v1",
  "metadata" : {
    "name" : "pv-test",
    "selfLink" : "/api/v1/persistentvolumes/pv-test",
    "uid" : "0d93181d-3628-11e7-9093-fa163e8c373b",
    "resourceVersion" : "180886",
    "creationTimestamp" : "2017-05-11T08:58:51Z",
    "labels" : {
      "app" : "test"
    }
  },
  "spec" : {
    "flexVolume" : {
      "driver" : "huawei.com/fuxivol",
      "fsType" : "ext4",
      "options" : {
        "fsType" : "ext4",
        "kubernetes.io/namespace" : "default",
        "volumeID" : "0781b22f-4d89-4e9c-b026-80e545cea16c"
      }
    },
    "capacity" : {
      "storage" : "1Gi"
    },
    "accessModes" : [ "ReadWriteMany" ],
    "persistentVolumeReclaimPolicy" : "Delete"
  },
  "status" : {
    "phase" : "Available"
  }
}

状态码

状态码

描述

200

删除指定PersistentVolume作业下发成功。

错误码

请参见错误码