第 6 章 PersistentVolumeClaim [v1]
- 描述
- PersistentVolumeClaim 是用户对持久性卷的请求并声明
- 类型
- 
						对象
6.1. 规格
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
								 | 
								 | APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources | 
| 
								 | 
								 | kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | 
| 
								 | 标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
| 
								 | 
								 | PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性 | 
| 
								 | 
								 | PersistentVolumeClaimStatus 是持久性卷声明的当前状态。 | 
6.1.1. .spec
- 描述
- PersistentVolumeClaimSpec 描述了存储设备的通用属性,并允许 Source 用于特定于供应商的属性
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | accessModes 包含卷应具有所需的访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | 
| 
									 | 
									 | TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。 | 
| 
									 | 
									 | 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。 | 
| 
									 | 
									 | ResourceRequirements 描述了计算资源要求。 | 
| 
									 | selector 是要考虑绑定的卷的标签查询。 | |
| 
									 | 
									 | storageClassName 是声明所需的 StorageClass 的名称。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 | 
| 
									 | 
									 | volumeMode 定义声明需要哪些卷类型。当未包含在 claim spec 中时,文件系统的值会被表示。 
									可能枚举值: -  | 
| 
									 | 
									 | volumeName 是对此声明支持的 PersistentVolume 的绑定引用。 | 
6.1.2. .spec.dataSource
- 描述
- TypedLocalObjectReference 包含足够信息,以便您在同一命名空间中找到类型引用的对象。
- 类型
- 
								object
- 必填
- 
										kind
- 
										name
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 | 
| 
									 | 
									 | kind 是被引用的资源类型 | 
| 
									 | 
									 | name 是被引用的资源的名称 | 
6.1.3. .spec.dataSourceRef
- 描述
- 如果需要非空卷,则 dataSourceRef 指定要使用数据填充卷的对象。这可以是来自非空 API 组(非核心对象)或 PersistentVolumeClaim 对象的任何对象。当指定对象的类型与某些安装的卷填充或动态置备程序匹配时,卷绑定才会成功。此字段将替换 dataSource 字段的功能,如果两个字段都不是空的,则它们必须具有相同的值。为了向后兼容,当命名空间没有在 dataSourceRef 中指定时,如果其中一个为空,则两个字段(dataSource 和 dataSourceRef)都会自动设置为相同的值,另一个是非空的。当在 dataSourceRef 中指定 namespace 时,dataSource 不设置为相同的值,必须为空。dataSource 和 dataSourceRef 之间有三个重要区别:* While dataSource 只允许两种特定类型的对象,dataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。* 虽然 dataSource 忽略了禁止的值(丢弃它们),dataSourceRef 保留所有值,并在指定禁止的值时生成错误。* 虽然 dataSource 只允许本地对象,dataSourceRef 允许任何命名空间中的对象。(beta)使用此字段需要启用 AnyVolumeDataSource 功能门。(alpha)使用 dataSourceRef 的 namespace 字段需要启用 CrossNamespaceVolumeDataSource 功能门。
- 类型
- 
								object
- 必填
- 
										kind
- 
										name
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | APIGroup 是所引用资源的组。如果没有指定 APIGroup,则指定的 Kind 必须位于 core API 组中。对于任何其他第三方类型,需要 APIGroup。 | 
| 
									 | 
									 | kind 是被引用的资源类型 | 
| 
									 | 
									 | name 是被引用的资源的名称 | 
| 
									 | 
									 | 命名空间是被引用的资源的命名空间,请注意,当指定命名空间时,引用命名空间中需要一个 gateway.networking.k8s.io/ReferenceGrant 对象来允许该命名空间的所有者接受引用。详情请查看 ReferenceGrant 文档。(alpha)此字段需要启用 CrossNamespaceVolumeDataSource 功能门。 | 
6.1.4. .spec.resources
- 描述
- ResourceRequirements 描述了计算资源要求。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 此字段不可变。它只能为容器设置。 | 
| 
									 | 
									 | ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。 | 
| 
									 | 限制描述了允许的最大计算资源量。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | |
| 
									 | Requests 描述了所需的最少计算资源。如果容器省略了 Requests,则默认为 Limits (如果明确指定),否则默认为实现定义的值。请求不能超过限值。更多信息: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | 
6.1.5. .spec.resources.claims
- 描述
- claim 列出此容器使用的 spec.resourceClaims 中定义的资源名称。 - 这是一个 alpha 字段,需要启用 DynamicResourceAllocation 功能门。 - 此字段不可变。它只能为容器设置。 
- 类型
- 
								数组
6.1.6. .spec.resources.claims[]
- 描述
- ResourceClaim 引用 PodSpec.ResourceClaims 中的一个条目。
- 类型
- 
								object
- 必填
- 
										name
 
- 
										
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | name 必须与使用此字段的 Pod 的 pod.spec.resourceClaims 中的一个条目的名称匹配。它允许容器内部使用该资源。 | 
6.1.7. .status
- 描述
- PersistentVolumeClaimStatus 是持久性卷声明的当前状态。
- 类型
- 
								object
| 属性 | 类型 | 描述 | 
|---|---|---|
| 
									 | 
									 | accessModes 包含 PVC 支持的卷的实际访问模式。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | 
| 
									 | allocatedResources 是 AllocatedResources 中的存储资源跟踪分配给 PVC 的容量。当请求卷扩展操作时,它可能大于实际容量。对于存储配额,使用来自 allocatedResources 和 PVC.spec.resources 的值。如果没有设置 allocatedResources,则单独使用 PVC.spec.resources 进行配额计算。如果卷扩展容量请求较低,则只有当实际卷容量相等或低于请求的容量时,才会降低 allocatedResources。这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。 | |
| 
									 | capacity 代表底层卷的实际资源。 | |
| 
									 | 
									 | 条件是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'ResizeStarted'。 | 
| 
									 | 
									 | PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息 | 
| 
									 | 
									 | phase 代表 PersistentVolumeClaim 的当前阶段。 
									可能枚举值: - 用于绑定的 PersistentVolumeClaim 的  | 
| 
									 | 
									 | resizeStatus 存储调整大小操作的状态。默认不会设置 ResizeStatus,但当扩展完成 resizeStatus 时,通过调整 controller 或 kubelet 设置为空字符串。这是一个 alpha 字段,需要启用 RecoverVolumeExpansionFailure 功能。 
									可能枚举值:-  | 
6.1.8. .status.conditions
- 描述
- 条件是持久性卷声明的当前条件。如果底层持久性卷被调整大小,则条件将设置为 'ResizeStarted'。
- 类型
- 
								array
6.1.9. .status.conditions[]
- 描述
- PersistentVolumeClaimCondition 包含有关 pvc 状态的详细信息
- 类型
- 
								object
- 必填
- 
										type
- 
										status
 
-