PersistentVolumeClaim
apiVersion: v1
import "k8s.io/api/core/v1"
PersistentVolumeClaim
PersistentVolumeClaim 是用户对持久卷的请求和声明
apiVersion: v1
kind: PersistentVolumeClaim
metadata (ObjectMeta)
标准对象的元数据。 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (PersistentVolumeClaimSpec)
spec 定义了 pod 作者请求的卷的所需特性。更多信息: https://kubernetes.top/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
status (PersistentVolumeClaimStatus)
status 表示持久卷声明的当前信息/状态。只读。更多信息: https://kubernetes.top/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
PersistentVolumeClaimSpec
PersistentVolumeClaimSpec 描述存储设备的通用属性,并允许为提供程序特定的属性提供 Source
accessModes ([]string)
原子操作:将在合并期间被替换
accessModes 包含卷应具有的所需访问模式。更多信息: https://kubernetes.top/docs/concepts/storage/persistent-volumes#access-modes-1
selector (LabelSelector)
selector 是对用于绑定卷的标签查询。
resources (VolumeResourceRequirements)
resources 表示卷应具有的最小资源。 如果启用了 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源需求,但仍必须高于声明状态字段中记录的容量。 更多信息: https://kubernetes.top/docs/concepts/storage/persistent-volumes#resources
VolumeResourceRequirements 描述卷的存储资源需求。
resources.limits (map[string]Quantity)
Limits 描述允许的最大计算资源量。 更多信息: https://kubernetes.top/docs/concepts/configuration/manage-resources-containers/
resources.requests (map[string]Quantity)
Requests 描述所需的最小计算资源量。 如果省略容器的 Requests,则如果明确指定,则默认为 Limits,否则为实现定义的值。 Requests 不能超过 Limits。 更多信息: https://kubernetes.top/docs/concepts/configuration/manage-resources-containers/
volumeName (string)
volumeName 是对此声明的 PersistentVolume 的绑定引用。
storageClassName (string)
storageClassName 是声明所需的 StorageClass 的名称。 更多信息: https://kubernetes.top/docs/concepts/storage/persistent-volumes#class-1
volumeMode (string)
volumeMode 定义声明所需的卷类型。当未包含在声明规范中时,隐含 Filesystem 的值。
Beta 级别
dataSource (TypedLocalObjectReference)
dataSource 字段可用于指定以下任意一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有的 PVC (PersistentVolumeClaim) 如果配置器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建一个新卷。 启用 AnyVolumeDataSource 特性门控后,dataSource 内容将复制到 dataSourceRef,并且当未指定 dataSourceRef.namespace 时,dataSourceRef 内容将复制到 dataSource。 如果指定了命名空间,则 dataSourceRef 将不会复制到 dataSource。
dataSourceRef (TypedObjectReference)
dataSourceRef 指定用于使用数据填充卷的对象,如果需要非空卷。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。指定此字段后,只有在指定对象的类型与某些已安装的卷填充器或动态配置器匹配时,卷绑定才会成功。 此字段将替换 dataSource 字段的功能,因此,如果两个字段均不为空,则它们必须具有相同的值。 为了向后兼容,当未在 dataSourceRef 中指定命名空间时,如果其中一个为空而另一个不为空,则两个字段(dataSource 和 dataSourceRef)将自动设置为相同的值。 当在 dataSourceRef 中指定命名空间时,dataSource 不会设置为相同的值,并且必须为空。 dataSource 和 dataSourceRef 之间有三个重要区别:* 虽然 dataSource 仅允许两种特定类型的对象,但 dataSourceRef 允许任何非核心对象以及 PersistentVolumeClaim 对象。
- 虽然 dataSource 忽略不允许的值(删除它们),但 dataSourceRef 保留所有值,并且如果指定了不允许的值,则会生成错误。
- 虽然 dataSource 仅允许本地对象,但 dataSourceRef 允许任何命名空间中的对象。 (Beta)使用此字段需要启用 AnyVolumeDataSource 特性门控。 (Alpha)使用 dataSourceRef 的命名空间字段需要启用 CrossNamespaceVolumeDataSource 特性门控。
dataSourceRef.kind (string), 必需
Kind 是被引用的资源类型
dataSourceRef.name (string), 必需
Name 是被引用的资源名称
dataSourceRef.apiGroup (string)
APIGroup 是被引用的资源的组。 如果未指定 APIGroup,则指定的 Kind 必须在核心 API 组中。 对于任何其他第三方类型,都需要 APIGroup。
dataSourceRef.namespace (string)
Namespace 是被引用的资源的命名空间 请注意,当指定命名空间时,referent 命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象,以允许该命名空间的拥有者接受引用。 有关详细信息,请参见 ReferenceGrant 文档。 (Alpha)此字段需要启用 CrossNamespaceVolumeDataSource 特性门控。
volumeAttributesClassName (string)
volumeAttributesClassName 可用于设置此声明使用的 VolumeAttributesClass。 如果指定,则 CSI 驱动程序将使用相应 VolumeAttributesClass 中定义的属性创建或更新卷。 这与 storageClassName 的目的不同,它可以在创建声明后更改。 空字符串值表示不会将任何 VolumeAttributesClass 应用于声明,但一旦设置该字段,就不允许将其重置为空字符串。 如果未指定且 PersistentVolumeClaim 未绑定,则如果存在,持久卷控制器将设置默认的 VolumeAttributesClass。 如果 volumeAttributesClass 引用的资源不存在,则此 PersistentVolumeClaim 将设置为 Pending 状态,如 modifyVolumeStatus 字段所反映的那样,直到该资源存在。 更多信息: https://kubernetes.top/docs/concepts/storage/volume-attributes-classes/(Beta)使用此字段需要启用 VolumeAttributesClass 特性门控(默认情况下禁用)。
PersistentVolumeClaimStatus
PersistentVolumeClaimStatus 是持久卷声明的当前状态。
accessModes ([]string)
原子操作:将在合并期间被替换
accessModes 包含 PVC 所支持的实际访问模式。更多信息请参考:https://kubernetes.top/zh-cn/docs/concepts/storage/persistent-volumes#access-modes-1
allocatedResourceStatuses (map[string]string)
allocatedResourceStatuses 存储给定 PVC 正在调整大小的资源的状态。键名称遵循标准的 Kubernetes 标签语法。有效值包括: * 无前缀键: - storage - 卷的容量。 * 自定义资源必须使用实现定义的前缀名称,例如 "example.com/my-custom-resource"。除了上述值外,无前缀或具有 kubernetes.io 前缀的键被视为保留,因此不能使用。
ClaimResourceStatus 可以处于以下任何状态: - ControllerResizeInProgress:当调整大小控制器开始在控制平面中调整卷大小时设置的状态。 - 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 (map[string]Quantity)
allocatedResources 跟踪分配给 PVC 的资源,包括其容量。键名称遵循标准的 Kubernetes 标签语法。有效值包括: * 无前缀键: - storage - 卷的容量。 * 自定义资源必须使用实现定义的前缀名称,例如 "example.com/my-custom-resource"。除了上述值外,无前缀或具有 kubernetes.io 前缀的键被视为保留,因此不能使用。
当请求卷扩展操作时,此处报告的容量可能大于实际容量。对于存储配额,将使用 allocatedResources 和 PVC.spec.resources 中较大的值。如果未设置 allocatedResources,则仅使用 PVC.spec.resources 进行配额计算。如果降低了卷扩展容量请求,则仅当没有正在进行的扩展操作且实际卷容量等于或低于请求的容量时,才会降低 allocatedResources。
接收到具有先前未知 resourceName 的 PVC 更新的控制器,应该忽略此更新,以便用于其设计目的。例如 - 一个仅负责调整卷容量的控制器,应该忽略更改与 PVC 关联的其他有效资源的 PVC 更新。
这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。
capacity (map[string]Quantity)
capacity 表示底层卷的实际资源。
conditions ([]PersistentVolumeClaimCondition)
Patch 策略:在键
type
上合并Map:在合并期间,将保留键类型上的唯一值
conditions 是持久卷声明的当前条件。如果正在调整底层持久卷的大小,则该条件将设置为“Resizing”。
PersistentVolumeClaimCondition 包含有关 PVC 状态的详细信息
conditions.status (string),必需
conditions.type (string),必需
conditions.lastProbeTime (Time)
lastProbeTime 是我们探测条件的时间。
Time 是 time.Time 的包装器,支持正确地编组为 YAML 和 JSON。为 time 包提供的许多工厂方法提供了包装器。
conditions.lastTransitionTime (Time)
lastTransitionTime 是条件从一种状态转换为另一种状态的时间。
Time 是 time.Time 的包装器,支持正确地编组为 YAML 和 JSON。为 time 包提供的许多工厂方法提供了包装器。
conditions.message (string)
message 是人类可读的消息,指示有关上次转换的详细信息。
conditions.reason (string)
reason 是一个唯一的、简短的、机器可理解的字符串,它给出了条件最后一次转换的原因。如果它报告“Resizing”,则表示正在调整底层持久卷的大小。
currentVolumeAttributesClassName (string)
currentVolumeAttributesClassName 是 PVC 当前正在使用的 VolumeAttributesClass 的当前名称。如果未设置,则此 PersistentVolumeClaim 没有应用 VolumeAttributeClass。这是一个 beta 字段,需要启用 VolumeAttributesClass 功能(默认关闭)。
modifyVolumeStatus (ModifyVolumeStatus)
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象。如果未设置,则没有尝试 ModifyVolume 操作。这是一个 beta 字段,需要启用 VolumeAttributesClass 功能(默认关闭)。
ModifyVolumeStatus 表示 ControllerModifyVolume 操作的状态对象
modifyVolumeStatus.status (string),必需
status 是 ControllerModifyVolume 操作的状态。它可以处于以下任何状态
- Pending Pending 表示由于未满足的要求,例如指定的 VolumeAttributesClass 不存在,无法修改 PersistentVolumeClaim。
- InProgress InProgress 表示正在修改卷。
- Infeasible Infeasible 表示请求已被 CSI 驱动程序拒绝为无效。要解决该错误,需要指定一个有效的 VolumeAttributesClass。注意:将来可能会添加新状态。消费者应检查未知状态并适当地失败。
modifyVolumeStatus.targetVolumeAttributesClassName (string)
targetVolumeAttributesClassName 是 PVC 当前正在协调的 VolumeAttributesClass 的名称
phase (string)
phase 表示 PersistentVolumeClaim 的当前阶段。
PersistentVolumeClaimList
PersistentVolumeClaimList 是 PersistentVolumeClaim 项的列表。
apiVersion: v1
kind: PersistentVolumeClaimList
metadata (ListMeta)
标准的列表元数据。更多信息请参考:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
items ([]PersistentVolumeClaim),必需
items 是持久卷声明的列表。更多信息请参考:https://kubernetes.top/zh-cn/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
操作
get
读取指定的 PersistentVolumeClaim
HTTP 请求
GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
401: 未授权
get
读取指定的 PersistentVolumeClaim 的状态
HTTP 请求
GET /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
401: 未授权
list
列出或监视 PersistentVolumeClaim 类型的对象
HTTP 请求
GET /api/v1/namespaces/{namespace}/persistentvolumeclaims
参数
namespace (在路径中): string,必需
allowWatchBookmarks (在查询中): boolean
continue (在查询中): string
fieldSelector (在查询中): string
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
watch (在查询中): boolean
响应
200 (PersistentVolumeClaimList): OK
401: 未授权
list
列出或监视 PersistentVolumeClaim 类型的对象
HTTP 请求
GET /api/v1/persistentvolumeclaims
参数
allowWatchBookmarks (在查询中): boolean
continue (在查询中): string
fieldSelector (在查询中): string
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
watch (在查询中): boolean
响应
200 (PersistentVolumeClaimList): OK
401: 未授权
create
创建一个 PersistentVolumeClaim
HTTP 请求
POST /api/v1/namespaces/{namespace}/persistentvolumeclaims
参数
namespace (在路径中): string,必需
body: PersistentVolumeClaim, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
201 (PersistentVolumeClaim): 已创建
202 (PersistentVolumeClaim): 已接受
401: 未授权
update
替换指定的 PersistentVolumeClaim
HTTP 请求
PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
body: PersistentVolumeClaim, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
201 (PersistentVolumeClaim): 已创建
401: 未授权
update
替换指定的 PersistentVolumeClaim 的状态
HTTP 请求
PUT /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
body: PersistentVolumeClaim, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
201 (PersistentVolumeClaim): 已创建
401: 未授权
patch
部分更新指定的 PersistentVolumeClaim
HTTP 请求
PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (在查询中): boolean
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
201 (PersistentVolumeClaim): 已创建
401: 未授权
patch
部分更新指定的 PersistentVolumeClaim 的状态
HTTP 请求
PATCH /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}/status
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
body: Patch, 必需
dryRun (在查询中): string
fieldManager (在查询中): string
fieldValidation (在查询中): string
force (在查询中): boolean
pretty (在查询中): string
响应
200 (PersistentVolumeClaim): OK
201 (PersistentVolumeClaim): 已创建
401: 未授权
delete
删除一个 PersistentVolumeClaim
HTTP 请求
DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name}
参数
name (在路径中): string,必需
PersistentVolumeClaim 的名称
namespace (在路径中): string,必需
body: DeleteOptions
dryRun (在查询中): string
gracePeriodSeconds (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
响应
200 (PersistentVolumeClaim): OK
202 (PersistentVolumeClaim): 已接受
401: 未授权
deletecollection
删除 PersistentVolumeClaim 的集合
HTTP 请求
DELETE /api/v1/namespaces/{namespace}/persistentvolumeclaims
参数
namespace (在路径中): string,必需
body: DeleteOptions
continue (在查询中): string
dryRun (在查询中): string
fieldSelector (在查询中): string
gracePeriodSeconds (在查询中): integer
labelSelector (在查询中): string
limit (在查询中): integer
pretty (在查询中): string
propagationPolicy (在查询中): string
resourceVersion (在查询中): string
resourceVersionMatch (在查询中): string
sendInitialEvents (在查询中): boolean
timeoutSeconds (在查询中): integer
响应
200 (Status): OK
401: 未授权
此页面是自动生成的。
如果您计划报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他位置进行。