×

规格

属性 类型 描述

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 定义了用户请求的快照的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-snapshots#volumesnapshots 必需。

status

对象

status 表示快照的当前信息。在使用此对象之前,使用者必须验证 VolumeSnapshot 和 VolumeSnapshotContent 对象之间的绑定是否成功(通过验证 VolumeSnapshot 和 VolumeSnapshotContent 是否相互指向)。

.spec

描述

spec 定义了用户请求的快照的所需特性。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volume-snapshots#volumesnapshots 必需。

类型

对象

必需
  • source

属性 类型 描述

source

对象

source 指定将从中创建快照的位置。创建后,此字段不可变。必需。

volumeSnapshotClassName

字符串

VolumeSnapshotClassName 是 VolumeSnapshot 请求的 VolumeSnapshotClass 的名称。VolumeSnapshotClassName 可以留空,表示应使用默认的 SnapshotClass。给定集群可能有多个默认 Volume SnapshotClass:每个 CSI 驱动程序一个默认值。如果 VolumeSnapshot 没有指定 SnapshotClass,则将检查 VolumeSnapshotSource 以确定相关的 CSI 驱动程序是什么,并将使用与该 CSI 驱动程序关联的默认 VolumeSnapshotClass。如果给定 CSI 驱动程序存在多个 VolumeSnapshotClass 并且多个被标记为默认值,则 CreateSnapshot 将失败并生成事件。此字段不允许为空字符串。

.spec.source

描述

source 指定将从中创建快照的位置。创建后,此字段不可变。必需。

类型

对象

属性 类型 描述

persistentVolumeClaimName

字符串

persistentVolumeClaimName 指定表示从中应创建快照的卷的 PersistentVolumeClaim 对象的名称。此 PVC 假定与 VolumeSnapshot 对象位于同一命名空间中。如果快照不存在且需要创建,则应设置此字段。此字段是不可变的。

volumeSnapshotContentName

字符串

volumeSnapshotContentName 指定表示现有卷快照的预先存在的 VolumeSnapshotContent 对象的名称。如果快照已存在并且只需要在 Kubernetes 中进行表示,则应设置此字段。此字段是不可变的。

.status

描述

status 表示快照的当前信息。在使用此对象之前,使用者必须验证 VolumeSnapshot 和 VolumeSnapshotContent 对象之间的绑定是否成功(通过验证 VolumeSnapshot 和 VolumeSnapshotContent 是否相互指向)。

类型

对象

属性 类型 描述

boundVolumeSnapshotContentName

字符串

boundVolumeSnapshotContentName 是此 VolumeSnapshot 对象打算绑定到的 VolumeSnapshotContent 对象的名称。如果未指定,则表示 VolumeSnapshot 对象尚未成功绑定到 VolumeSnapshotContent 对象。注意:为避免可能的安全问题,使用者必须验证 VolumeSnapshot 和 VolumeSnapshotContent 对象之间的绑定是否成功(通过验证 VolumeSnapshot 和 VolumeSnapshotContent 是否相互指向)后才能使用此对象。

creationTime

字符串

creationTime 是底层存储系统拍摄时间点快照的时间戳。在动态快照创建情况下,快照控制器将使用从 CSI “CreateSnapshot” gRPC 调用返回的“creation_time”值填充此字段。对于预先存在的快照,如果驱动程序支持,则此字段将使用从 CSI “ListSnapshots” gRPC 调用返回的“creation_time”值填充。如果未指定,则可能表示未知快照的创建时间。

error

对象

error 是快照创建过程中最后一次观察到的错误(如果有)。此字段可能对上层控制器(即应用程序控制器)很有帮助,它们可以根据报告的错误类型来决定是否应继续等待快照创建。快照控制器在快照创建过程中发生错误时将继续重试。成功后,此错误字段将被清除。

readyToUse

布尔值

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

restoreSize

整数或字符串

restoreSize 表示从该快照创建卷所需的卷的最小大小。在动态快照创建的情况下,此字段将由快照控制器使用 CSI "CreateSnapshot" gRPC 调用返回的 "size_bytes" 值填充。对于预先存在的快照,如果驱动程序支持,则此字段将使用 CSI "ListSnapshots" gRPC 调用返回的 "size_bytes" 值填充。从该快照还原卷时,如果指定了 restoreSize,则卷的大小 MUST NOT 小于 restoreSize,否则还原将失败。如果未指定,则表示大小未知。

volumeGroupSnapshotName

字符串

VolumeGroupSnapshotName 是此 VolumeSnapshot 所属的 VolumeGroupSnapshot 的名称。

.status.error

描述

error 是快照创建过程中最后一次观察到的错误(如果有)。此字段可能对上层控制器(即应用程序控制器)很有帮助,它们可以根据报告的错误类型来决定是否应继续等待快照创建。快照控制器在快照创建过程中发生错误时将继续重试。成功后,此错误字段将被清除。

类型

对象

属性 类型 描述

message

字符串

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

time

字符串

time 是遇到错误的时间戳。

API 端点

提供以下 API 端点

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

    • GET:列出 VolumeSnapshot 类型的对象

  • /apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots

    • DELETE:删除 VolumeSnapshot 集合

    • GET:列出 VolumeSnapshot 类型的对象

    • POST:创建 VolumeSnapshot

  • /apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots/{name}

    • DELETE:删除 VolumeSnapshot

    • GET:读取指定的 VolumeSnapshot

    • PATCH:部分更新指定的 VolumeSnapshot

    • PUT:替换指定的 VolumeSnapshot

  • /apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots/{name}/status

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

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

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

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

HTTP 方法

GET

描述

列出 VolumeSnapshot 类型的对象

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

200 - OK

VolumeSnapshotList 模式

401 - 未授权

/apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots

HTTP 方法

DELETE

描述

删除 VolumeSnapshot 集合

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

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 VolumeSnapshot 类型的对象

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

200 - OK

VolumeSnapshotList 模式

401 - 未授权

HTTP 方法

POST

描述

创建 VolumeSnapshot

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

VolumeSnapshot 模式

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

200 - OK

VolumeSnapshot 模式

201 - 已创建

VolumeSnapshot 模式

202 - 已接受

VolumeSnapshot 模式

401 - 未授权

/apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots/{name}

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

name

字符串

VolumeSnapshot 的名称

HTTP 方法

DELETE

描述

删除 VolumeSnapshot

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

dryRun

字符串

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

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

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 VolumeSnapshot

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

200 - OK

VolumeSnapshot 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 VolumeSnapshot

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

VolumeSnapshot 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 VolumeSnapshot

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

VolumeSnapshot 模式

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

200 - OK

VolumeSnapshot 模式

201 - 已创建

VolumeSnapshot 模式

401 - 未授权

/apis/snapshot.storage.k8s.io/v1/namespaces/{namespace}/volumesnapshots/{name}/status

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

name

字符串

VolumeSnapshot 的名称

HTTP 方法

GET

描述

读取指定的 VolumeSnapshot 的状态

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

200 - OK

VolumeSnapshot 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 VolumeSnapshot 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

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

200 - OK

VolumeSnapshot 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 VolumeSnapshot 的状态

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

dryRun

字符串

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

fieldValidation

字符串

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

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

body

VolumeSnapshot 模式

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

200 - OK

VolumeSnapshot 模式

201 - 已创建

VolumeSnapshot 模式

401 - 未授权