更新时间:2023-11-03 gmt 08:00

创建pv-凯发k8国际娱乐官网入口

功能介绍

该api用于通过指定云存储服务中的云存储(如evs、sfs、obs)去创建pv(persistentvolume)。该api已废弃,请使用kubernetes pv相关接口。

存储管理的url格式为:https://{clusterid}.endpoint/uri。其中{clusterid}为集群id,uri为资源路径,也即api访问的路径。如果使用https://endpoint/uri,则必须指定请求header中的x-cluster-id参数。

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的值,获取方式请参见。

最大长度:16384

x-cluster-id

string

集群 id,使用https://endpoint/uri这种url格式时必须指定此参数。获取方式请参见

表2 请求body参数

参数

是否必选

参数类型

描述

apiversion

string

api版本,固定值v1

缺省值:v1

kind

string

api类型,固定值persistentvolume

缺省值:persistentvolume

metadata

persistentvolumemetadata object

persistentvolume的元数据信息

spec

persistentvolumespec object

persistentvolume的规格信息

status

persistentvolumestatus object

persistentvolume的状态信息

表3 persistentvolumemetadata

参数

是否必选

参数类型

描述

name

string

persistentvolume名称,可以包含小写字母、数字、连字符和点,开头和结尾必须是字母或数字,最长253个字符,同一namespace下name不能重复。

labels

map

persistentvolume标签,key/value对格式。

  • key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用dns子域作为前缀,例如example.com/my-key, dns子域最长253个字符。
  • value:可以为空或者非空字符串,非空字符串必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。

示例:"foo": "bar"

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

参数

是否必选

参数类型

描述

driver

string

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

  • huawei.com/fuxivol (evs)
  • huawei.com/fuxinfs (sfs)
  • huawei.com/fuxiobs (obs)
  • huawei.com/fuxiefs (sfs turbo)

fstype

string

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

  • ext4: evs云硬盘存储,详情可参见。
  • nfs:sfs弹性文件存储,详情可参见。
  • obs:obs对象存储,详情可参见。
  • efs:sfs turbo极速文件存储,详情可参见。

options

options object

flexvolume配置项

表6 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)
表7 persistentvolumestatus

参数

是否必选

参数类型

描述

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的状态信息

表9 persistentvolumemetadata

参数

参数类型

描述

name

string

persistentvolume名称,可以包含小写字母、数字、连字符和点,开头和结尾必须是字母或数字,最长253个字符,同一namespace下name不能重复。

labels

map

persistentvolume标签,key/value对格式。

  • key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用dns子域作为前缀,例如example.com/my-key, dns子域最长253个字符。
  • value:可以为空或者非空字符串,非空字符串必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。

示例:"foo": "bar"

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

参数

参数类型

描述

driver

string

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

  • huawei.com/fuxivol (evs)
  • huawei.com/fuxinfs (sfs)
  • huawei.com/fuxiobs (obs)
  • huawei.com/fuxiefs (sfs turbo)

fstype

string

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

  • ext4: evs云硬盘存储,详情可参见。
  • nfs:sfs弹性文件存储,详情可参见。
  • obs:obs对象存储,详情可参见。
  • efs:sfs turbo极速文件存储,详情可参见。

options

options object

flexvolume配置项

表12 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)
表13 persistentvolumestatus

参数

参数类型

描述

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作业下发成功。

错误码

请参见。

分享:
网站地图