1.82. io.k8s.api.core.v1.PersistentVolumeClaim schema


描述
PersistentVolumeClaim 是用户对持久性卷的请求并声明
类型
对象

模式

Expand
属性类型描述

apiVersion

string

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

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: 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

对象

PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性

status

对象

PersistentVolumeClaimStatus 是持久性卷声明的当前状态。

..spec Description::

+

PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性

类型
object
Expand
属性类型描述

accessModes

数组(字符串)

accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

对象

TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。

dataSourceRef

object

TypedObjectReference 包含足够信息,以便您可以找到输入引用的对象

resources

object

VolumeResourceRequirements 描述了卷的存储资源要求。

selector

LabelSelector

selector 是要考虑绑定的卷的标签查询。

storageClassName

string

storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeAttributesClassName

string

volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。如果指定,CSI 驱动程序将使用对应的 VolumeAttributesClass 中定义的属性创建或更新卷。这有一个不同于 storageClassName 的目的,可在创建声明后更改。空字符串表示,不会将 VolumeAttributesClass 应用到声明,但不允许在设置后将此字段重置为空字符串。如果未指定,并且 PersistentVolumeClaim 为 unbound,则 persistentvolume 控制器将设置默认的 VolumeAttributesClass (如果存在)。如果 volumeAttributesClass 引用的资源不存在,则这个 PersistentVolumeClaim 将被设置为 Pending 状态,如 modifyVolumeStatus 字段反映,直到资源存在为止。更多信息:https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) 使用此字段需要启用 VolumeAttributesClass 功能门(默认为关闭)。

volumeMode

字符串

volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。

可能枚举值: - "Block" 表示卷不会格式化为文件系统,并保留原始块设备。- "Filesystem" 表示卷将被格式化为文件系统或使用文件系统格式化。

volumeName

string

volumeName 是对此声明支持的 PersistentVolume 的绑定引用。

..spec.dataSource Description::

+

TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。

类型
object
必填
  • kind
  • name
Expand
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

..spec.dataSourceRef Description::

+

TypedObjectReference 包含足够信息,以便您可以找到输入引用的对象

类型
object
必填
  • kind
  • name
Expand
属性类型描述

apiGroup

字符串

APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。

kind

字符串

kind 是被引用的资源类型

name

字符串

name 是被引用的资源的名称

namespace

string

命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。

..spec.resources Description::

+

VolumeResourceRequirements 描述了卷的存储资源要求。

类型
object
Expand
属性类型描述

limits

对象(Quantity)

限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

对象(Quantity)

Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

..status Description::

+

PersistentVolumeClaimStatus 是持久性卷声明的当前状态。

类型
object
Expand
属性类型描述

accessModes

数组(字符串)

accessModes 包含 PVC 支持的卷的实际访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

allocatedResourceStatuses

对象(字符串)

allocatedResourceStatuses 存储给定 PVC 的大小的资源状态。键名称遵循标准 Kubernetes 标签语法。有效值为:* Un-prefixed 键: - storage - 卷的容量。* 自定义资源除了以上值外还必须使用实现的前缀名称,如 "example.com/my-custom-resource" - 没有前缀或具有 kubernetes.io 前缀的键被视为是保留的键,因此可能不能使用它们。

ClaimResourceStatus 可以是以下状态: - ControllerResizeInProgress: 当重新定义 control-plane 大小调整卷大小时设置的状态。- ControllerResizeFailed: 在重新定义控制器大小失败并带有终止性错误时设置的状态。- NodeResizePending: 当重新定义控制器调整卷的大小结束,但节点上需要进一步重新定义卷大小是设置的状态。- NodeResizeInProgress: 当 kubelet 开始重新定义卷的大小时设置的状态。- NodeResizeFailed: 当 kubelet 中调整大小失败并带有终止性错误时设置的状态。临时错误不会设置 NodeResizeFailed。例如:如果为一个 PVC 扩展更多容量 - 此字段可以是以下状态之一: - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed"。如果这个字段没有设置,意味着,给定 PVC 没有调整大小的操作。

接收之前未知 resourceName 或 ClaimResourceStatus 的 PVC 更新的控制器应忽略更新,这符合设计的用途。例如 - 仅负责重新定义卷大小调整容量的控制器,应忽略更改与 PVC 相关的其他有效资源的 PVC 更新。

这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

allocatedResources

对象(Quantity)

allocatedResources 跟踪分配给 PVC 的资源,包括其容量。键名称遵循标准 Kubernetes 标签语法。有效值为:* Un-prefixed 键: - storage - 卷的容量。* 自定义资源除了以上值外还必须使用实现的前缀名称,如 "example.com/my-custom-resource" - 没有前缀或具有 kubernetes.io 前缀的键被视为是保留的键,因此可能不能使用它们。

当请求卷扩展操作时,此处报告的容量可能大于实际容量。对于存储配额,使用来自 allocatedResources 和 PVC.spec.resources 的值。如果没有设置 allocatedResources,则单独使用 PVC.spec.resources 进行配额计算。如果卷扩展容量请求被较低,则只有当没有进行中的扩展操作或当实际卷容量相等或低于请求的容量时,才会降低 allocatedResources。

接收之前未知 resourceName 或 的 PVC 更新的控制器应忽略更新,这符合设计的用途。例如 - 仅负责重新定义卷大小调整容量的控制器,应忽略更改与 PVC 相关的其他有效资源的 PVC 更新。

这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。

capacity

对象(Quantity)

capacity 代表底层卷的实际资源。

conditions

数组

conditions 是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'Resizing'。

conditions[]

object

PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息

currentVolumeAttributesClassName

string

currentVolumeAttributesClassName 是 PVC 正在使用的 VolumeAttributesClass 的当前名称。如果未设置时,没有应用到此 PersistentVolumeClaim 的 VolumeAttributeClass。这是一个 beta 字段,需要默认启用 VolumeAttributesClass 功能(默认关闭)。

modifyVolumeStatus

object

ModifyVolumeStatus 代表 ControllerModifyVolume 操作的状态对象

phase

string

phase 代表 PersistentVolumeClaim 的当前阶段。

可能的枚举值: - "Bound",用于绑定的 PersistentVolumeClaim - "Lost",用于丢失其底层 PersistentVolume 的 PersistentVolumeClaim。这个声明绑定到一个 PersistentVolume,这个卷不再存在,并会丢失它的所有数据。- "Pending" 用于尚未绑定的 PersistentVolumeClaim 的

..status.conditions Description::

+

conditions 是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'Resizing'。

类型
数组

..status.conditions[] Description::

+

PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息

类型
object
必填
  • type
  • status
Expand
属性类型描述

lastProbeTime

Time

lastProbeTime 是我们探测到条件的时间。

lastTransitionTime

Time

lastTransitionTime 是条件从一个状态转换到另一个状态的时间。

message

string

Message 是人类可读的消息,指示最后一次转换的详细信息。

reason

string

reason 是唯一的,这应该是一个简短的机器理解的字符串,给出了条件最后一次转换的原因。如果报告"Resizing",则表示已调整底层持久性卷的大小。

status

字符串

status 是条件的状态。可以是 True, False, Unknown。更多信息:https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=state%20of%20pvc-,conditions.status,-(string)%2C%20required

type

字符串

type 是条件的类型。更多信息:https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/persistent-volume-claim-v1/#:~:text=set%20to%20%27ResizeStarted%27.-,PersistentVolumeClaimCondition,-contains%20details%20about

..status.modifyVolumeStatus Description::

+

ModifyVolumeStatus 代表 ControllerModifyVolume 操作的状态对象

类型
object
必填
  • status
Expand
属性类型描述

status

string

status 是 ControllerModifyVolume 操作的状态。它可以处于以下任何状态: - Pending Pending 表示因为没有满足的要求(如指定的 VolumeAttributesClass 不存在)PersistentVolumeClaim 不能被修改 - InProgress InProgress 表示卷正在被修改。- Infeasible Infeasible 代表 CSI 驱动程序已拒绝了请求。要解决错误,需要指定一个有效的 VolumeAttributesClass。注:新状态可以在以后添加。消费者应检查未知状态和失败的情况。

可能的枚举值: - "InProgress" InProgress 表示卷正在被修改 - "Infeasible" Infeasible 表示请求已被 CSI 驱动程序拒绝。要解决错误,需要指定一个有效的 VolumeAttributesClass - "Pending" Pending 表示因为未满足的要求(如指定的 VolumeAttributesClass 不存在)无法修改 PersistentVolumeClaim。

targetVolumeAttributesClassName

string

targetVolumeAttributesClassName 是当前被协调的 PVC 的 VolumeAttributesClass 的名称

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat