×

规格

属性 类型 描述

apiVersion

字符串

APIVersion 定义此对象表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

spec 定义了由底层存储系统创建的 VolumeSnapshotContent 的属性。必需。

status

对象

status 表示快照的当前信息。

.spec

描述

spec 定义了由底层存储系统创建的 VolumeSnapshotContent 的属性。必需。

类型

对象

必需
  • deletionPolicy

  • driver

  • source

  • volumeSnapshotRef

属性 类型 描述

deletionPolicy

字符串

deletionPolicy 确定当其绑定的 VolumeSnapshot 被删除时,此 VolumeSnapshotContent 及其在底层存储系统上的物理快照是否应被删除。“Retain”表示保留 VolumeSnapshotContent 及其在底层存储系统上的物理快照。“Delete”表示删除 VolumeSnapshotContent 及其在底层存储系统上的物理快照。对于动态预配的快照,此字段将由相应的 VolumeSnapshotClass 中定义的“DeletionPolicy”字段自动由 CSI 快照 sidecar 填充。对于预先存在的快照,用户在创建 VolumeSnapshotContent 对象时必须指定此字段。必需。

driver

字符串

driver 是用于在底层存储系统上创建物理快照的 CSI 驱动程序的名称。这必须与该驱动程序的 CSI GetPluginName() 调用返回的名称相同。必需。

source

对象

source 指定快照是(或应该是)动态预配的还是已经存在,只需要 Kubernetes 对象表示。创建后此字段不可变。必需。

sourceVolumeMode

字符串

SourceVolumeMode 是拍摄快照的卷的模式。可以是“Filesystem”或“Block”。如果未指定,则表示源卷的模式未知。此字段在创建后不可变。此字段是 alpha 字段。

volumeSnapshotClassName

字符串

从此快照创建(或将要创建)的 VolumeSnapshotClass 的名称。请注意,预配后,VolumeSnapshotClass 可能被删除或使用不同的值重新创建,因此不应在快照创建后引用。

volumeSnapshotRef

对象

volumeSnapshotRef 指定此 VolumeSnapshotContent 对象绑定的 VolumeSnapshot 对象。VolumeSnapshot.Spec.VolumeSnapshotContentName 字段必须引用此 VolumeSnapshotContent 的名称,双向绑定才有效。对于预先存在的 VolumeSnapshotContent 对象,必须提供 VolumeSnapshot 对象的名称和命名空间才能进行绑定。创建后此字段不可变。必需。

.spec.source

描述

source 指定快照是(或应该是)动态预配的还是已经存在,只需要 Kubernetes 对象表示。创建后此字段不可变。必需。

类型

对象

属性 类型 描述

snapshotHandle

字符串

snapshotHandle 指定底层存储系统上预先存在的快照的 CSI “snapshot_id”,为此快照创建了(或应该创建)Kubernetes 对象表示。此字段在创建后不可变。

volumeHandle

字符串

volumeHandle 指定应从中动态拍摄快照的卷的 CSI “volume_id”。此字段在创建后不可变。

.spec.volumeSnapshotRef

描述

volumeSnapshotRef 指定此 VolumeSnapshotContent 对象绑定的 VolumeSnapshot 对象。VolumeSnapshot.Spec.VolumeSnapshotContentName 字段必须引用此 VolumeSnapshotContent 的名称,双向绑定才有效。对于预先存在的 VolumeSnapshotContent 对象,必须提供 VolumeSnapshot 对象的名称和命名空间才能进行绑定。创建后此字段不可变。必需。

类型

对象

属性 类型 描述

apiVersion

字符串

引用对象的API版本。

fieldPath

字符串

如果引用的是对象的一部分而不是整个对象,则此字符串应包含有效的JSON/Go字段访问语句,例如desiredState.manifest.containers[2]。例如,如果对象引用指向Pod中的容器,则其值类似于:“spec.containers{name}”(其中“name”指的是触发事件的容器名称)或者如果没有指定容器名称,则为“spec.containers[2]”(此Pod中索引为2的容器)。选择此语法只是为了定义一种引用对象一部分的明确方法。待办事项:此设计并非最终版本,此字段将来可能会更改。

kind

字符串

引用的类型。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

字符串

引用的名称。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

引用的命名空间。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

字符串

此引用的特定资源版本(如果存在)。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

引用的UID。更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#uids

.status

描述

status 表示快照的当前信息。

类型

对象

属性 类型 描述

creationTime

整数

creationTime是底层存储系统拍摄时间点快照的时间戳。在动态快照创建的情况下,此字段将由CSI快照侧车使用CSI“CreateSnapshot”gRPC调用返回的“creation_time”值填充。对于预先存在的快照,如果驱动程序支持,则此字段将使用CSI“ListSnapshots”gRPC调用返回的“creation_time”值填充。如果未指定,则表示创建时间未知。此字段的格式是编码为int64的Unix纳秒时间。在Unix系统上,命令`date +%s%N`返回自1970-01-01 00:00:00 UTC以来的纳秒数。

error

对象

error是快照创建过程中最后观察到的错误(如果存在)。重试成功后,此错误字段将被清除。

readyToUse

布尔值

readyToUse指示快照是否已准备好用于还原卷。在动态快照创建的情况下,此字段将由CSI快照侧车使用CSI“CreateSnapshot”gRPC调用返回的“ready_to_use”值填充。对于预先存在的快照,如果驱动程序支持,此字段将使用CSI“ListSnapshots”gRPC调用返回的“ready_to_use”值填充,否则此字段将设置为“True”。如果未指定,则表示快照的准备情况未知。

restoreSize

整数

restoreSize表示快照的完整大小(以字节为单位)。在动态快照创建的情况下,此字段将由CSI快照侧车使用CSI“CreateSnapshot”gRPC调用返回的“size_bytes”值填充。对于预先存在的快照,如果驱动程序支持,此字段将使用CSI“ListSnapshots”gRPC调用返回的“size_bytes”值填充。从该快照还原卷时,如果指定了restoreSize,则卷的大小一定不能小于restoreSize,否则还原将失败。如果未指定,则表示大小未知。

snapshotHandle

字符串

snapshotHandle是底层存储系统上快照的CSI“snapshot_id”。如果未指定,则表示动态快照创建已失败或仍在进行中。

volumeGroupSnapshotHandle

字符串

VolumeGroupSnapshotHandle是底层存储系统上组快照的CSI“group_snapshot_id”。

.status.error

描述

error是快照创建过程中最后观察到的错误(如果存在)。重试成功后,此错误字段将被清除。

类型

对象

属性 类型 描述

message

字符串

message是详细说明快照创建过程中遇到的错误的字符串(如果指定)。注意:message可能会被记录,因此不应包含敏感信息。

time

字符串

time是遇到错误的时间戳。

API 端点

提供以下API端点

  • /apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents

    • DELETE:删除VolumeSnapshotContent集合

    • GET:列出VolumeSnapshotContent类型的对象

    • POST:创建一个VolumeSnapshotContent

  • /apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents/{name}

    • DELETE:删除一个VolumeSnapshotContent

    • GET:读取指定的VolumeSnapshotContent

    • PATCH:部分更新指定的VolumeSnapshotContent

    • PUT:替换指定的VolumeSnapshotContent

  • /apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents/{name}/status

    • GET:读取指定的VolumeSnapshotContent的状态

    • PATCH:部分更新指定的VolumeSnapshotContent的状态

    • PUT:替换指定的VolumeSnapshotContent的状态

/apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents

HTTP 方法

DELETE

描述

删除VolumeSnapshotContent集合

表1. HTTP响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - Unauthorized

HTTP 方法

GET

描述

列出VolumeSnapshotContent类型的对象

表2. HTTP响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContentList 模式

401 - Unauthorized

HTTP 方法

POST

描述

创建一个VolumeSnapshotContent

表3. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象默默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段,除了最后一个。这是v1.23之前的默认行为。- Warn:这将通过标准警告响应头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是v1.23+中的默认值- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将使用BadRequest错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 4. 请求体参数
参数 类型 描述

请求体

VolumeSnapshotContent 模式

表 5. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

201 - 创建成功

VolumeSnapshotContent 模式

202 - 已接受

VolumeSnapshotContent 模式

401 - Unauthorized

/apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents/{name}

表 6. 全局路径参数
参数 类型 描述

name

字符串

VolumeSnapshotContent 的名称

HTTP 方法

DELETE

描述

删除 VolumeSnapshotContent

表 7. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

表 8. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - Unauthorized

HTTP 方法

GET

描述

读取指定的 VolumeSnapshotContent

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

401 - Unauthorized

HTTP 方法

PATCH

描述

部分更新指定的 VolumeSnapshotContent

表 10. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象默默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段,除了最后一个。这是v1.23之前的默认行为。- Warn:这将通过标准警告响应头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是v1.23+中的默认值- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将使用BadRequest错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 11. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

401 - Unauthorized

HTTP 方法

PUT

描述

替换指定的 VolumeSnapshotContent

表 12. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象默默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段,除了最后一个。这是v1.23之前的默认行为。- Warn:这将通过标准警告响应头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是v1.23+中的默认值- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将使用BadRequest错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 13. 请求体参数
参数 类型 描述

请求体

VolumeSnapshotContent 模式

表 14. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

201 - 创建成功

VolumeSnapshotContent 模式

401 - Unauthorized

/apis/snapshot.storage.k8s.io/v1/volumesnapshotcontents/{name}/status

表 15. 全局路径参数
参数 类型 描述

name

字符串

VolumeSnapshotContent 的名称

HTTP 方法

GET

描述

读取指定的 VolumeSnapshotContent 的状态

表 16. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

401 - Unauthorized

HTTP 方法

PATCH

描述

部分更新指定的 VolumeSnapshotContent 的状态

表 17. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象默默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段,除了最后一个。这是v1.23之前的默认行为。- Warn:这将通过标准警告响应头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是v1.23+中的默认值- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将使用BadRequest错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 18. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

401 - Unauthorized

HTTP 方法

PUT

描述

替换指定的 VolumeSnapshotContent 的状态

表 19. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的dryRun指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有dry run阶段

fieldValidation

字符串

fieldValidation指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象默默丢弃的未知字段,并将忽略解码器遇到的所有重复字段中的最后一个字段,除了最后一个。这是v1.23之前的默认行为。- Warn:这将通过标准警告响应头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍将成功,并且只会保留任何重复字段中的最后一个。这是v1.23+中的默认值- Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则将使用BadRequest错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 20. 请求体参数
参数 类型 描述

请求体

VolumeSnapshotContent 模式

表 21. HTTP 响应
HTTP 代码 响应体

200 - OK

VolumeSnapshotContent 模式

201 - 创建成功

VolumeSnapshotContent 模式

401 - Unauthorized