第 5 章 PersistentVolume [v1]


描述
PersistentVolume (PV)是管理员置备的存储资源。类似于节点。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes
类型
对象

5.1. 规格

属性类型描述

apiVersion

字符串

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

kind

字符串

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

object

PersistentVolumeSpec 是持久性卷的规格。

status

object

PersistentVolumeStatus 是持久性卷的当前状态。

5.1.1. .spec

描述
PersistentVolumeSpec 是持久性卷的规格。
类型
object
属性类型描述

accessModes

数组(字符串)

accessModes 包含可以挂载卷的所有方法。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes

awsElasticBlockStore

object

代表 AWS 中的持久磁盘资源。

在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。

azureDisk

对象

azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。

azureFile

对象

azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。

capacity

对象(数量)

capacity 是持久性卷资源和容量的描述。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity

cephfs

object

代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。

cinder

object

代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。

claimRef

object

ObjectReference 包含足够信息供您检查或修改引用的对象。

csi

object

代表由外部 CSI 卷驱动程序管理的存储(Beta 功能)

fc

object

代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。

flexVolume

object

FlexPersistentVolumeSource 代表一个通用持久性卷资源,它使用基于 exec 的插件来置备/附加。

flocker

object

代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。

gcePersistentDisk

object

代表 Google Compute Engine 中的 Persistent Disk 资源。

挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。

glusterfs

object

代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。

hostPath

object

代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。

iscsi

object

ISCSIPersistentVolumeSource 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。

local

object

Local 代表带有节点关联性的直接附加存储(Beta 功能)

mountOptions

数组(字符串)

mountOptions 是挂载选项的列表,如 ["ro", "soft"]。未验证 - 如果挂载无效,则挂载将失败。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options

nfs

object

代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。

nodeAffinity

object

VolumeNodeAffinity 定义限制来限制此卷可以被访问的节点。

persistentVolumeReclaimPolicy

string

persistentVolumeReclaimPolicy 定义从声明中释放持久性卷时会发生什么。有效选项为 Retain (手动创建 PersistentVolume 的默认设置)、Delete (动态置备的 PersistentVolume 的默认)和 Recycle (已弃用)。Recycle 必须由此 PersistentVolume 的卷插件支持。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming

可能枚举值: - "Delete" 表示该卷将从声明发行版中从 Kubernetes 版本中删除。卷插件必须支持 Deletion. - "Recycle" 意味着该卷将从声明中回收回未绑定持久性卷的池。卷插件必须支持 Recycling。- "Retain" 表示卷将保留在当前阶段(Released),供管理员手动重新声明。默认策略为 Retain。

photonPersistentDisk

object

代表 Photon Controller 持久磁盘资源。

portworxVolume

object

PortworxVolumeSource 代表 Portworx 卷资源。

quobyte

object

代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。

rbd

object

代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。

scaleIO

object

ScaleIOPersistentVolumeSource 代表持久的 ScaleIO 卷

storageClassName

string

storageClassName 是此持久性卷所属的 StorageClass 的名称。空值表示这个卷不属于任何 StorageClass。

storageos

object

代表 StorageOS 持久性卷资源。

volumeAttributesClassName

string

此持久性卷所属的 VolumeAttributesClass 的名称。不允许为空值。如果没有设置此字段,这表示此卷不属于任何 VolumeAttributesClass。此字段是可变的,可在卷成功更新为新类后由 CSI 驱动程序更改。对于 unbound PersistentVolume,volumeAttributesClassName 将在绑定过程中与 unbound PersistentVolumeClaims 匹配。这是一个 alpha 字段,需要启用 VolumeAttributesClass 功能。

volumeMode

字符串

volumeMode 定义卷是否要与格式化的文件系统一起使用,或者保持在原始块状态。当没有包含在 spec 中时,文件系统的值会被表示。

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

vsphereVolume

object

代表 vSphere 卷资源。

5.1.2. .spec.awsElasticBlockStore

描述

代表 AWS 中的持久磁盘资源。

在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。

类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

分区

整数

partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。

readOnly

布尔值

readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

volumeID

string

VolumeId 是 AWS (Amazon EBS 卷)中持久磁盘资源的唯一 ID。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

5.1.3. .spec.azureDisk

描述
azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。
类型
object
必填
  • diskName
  • diskURI
属性类型描述

cachingMode

string

cachingMode 是主机缓存模式: None、Read Only、Read Write。

可能枚举值: - "None" - "ReadOnly" - "ReadWrite"

diskName

string

diskname 是 blob 存储中的数据磁盘的 Name

diskURI

string

diskURI 是 blob 存储中的数据磁盘的 URI

fsType

string

fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

kind

string

kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared

可能枚举值: - "Dedicated" - "Managed" - "Shared"

readOnly

布尔值

readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

5.1.4. .spec.azureFile

描述
azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
类型
object
必填
  • secretName
  • shareName
属性类型描述

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretName

string

secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称

secretNamespace

string

secretNamespace 是包含 Azure Storage Account Name 和 Key default 的 secret 的命名空间与 Pod 相同

shareName

string

sharename 是 azure Share Name

5.1.5. .spec.cephfs

描述
代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • monitor
属性类型描述

monitor

数组(字符串)

monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

path

string

路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 /

readOnly

布尔值

readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

string

secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

user

string

用户是可选的:用户是 rados 用户名,默认为 admin 更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

5.1.6. .spec.cephfs.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.7. .spec.cinder

描述
代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • volumeID
属性类型描述

fsType

string

要挂载的 fstype Filesystem 类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

readOnly

布尔值

readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

volumeID

string

用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md

5.1.8. .spec.cinder.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.9. .spec.claimRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

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.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

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

5.1.10. .spec.csi

描述
代表由外部 CSI 卷驱动程序管理的存储(Beta 功能)
类型
object
必填
  • driver
  • volumeHandle
属性类型描述

controllerExpandSecretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

controllerPublishSecretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

driver

string

driver 是用于此卷的驱动程序的名称。必需。

fsType

string

要挂载的 fstype。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".

nodeExpandSecretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

nodePublishSecretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

nodeStageSecretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

readOnly

布尔值

传递给 ControllerPublishVolumeRequest 的 readonly 值。默认为 false (读/写)。

volumeAttributes

对象(字符串)

要发布的卷的 volumeAttributes。

volumeHandle

string

volumeHandle 是 CSI 卷插件的 CreateVolume 返回的唯一卷名称,以便在所有后续调用中引用卷。必需。

5.1.11. .spec.csi.controllerExpandSecretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.12. .spec.csi.controllerPublishSecretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.13. .spec.csi.nodeExpandSecretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.14. .spec.csi.nodePublishSecretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.15. .spec.csi.nodeStageSecretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.16. .spec.fc

描述
代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

lun

整数

LUN 是可选的:FC 目标 lun 号

readOnly

布尔值

readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

targetWWNs

数组(字符串)

targetWWNs 是可选:FC 目标全球名称(WWN)

wwids

数组(字符串)

wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。

5.1.17. .spec.flexVolume

描述
FlexPersistentVolumeSource 代表一个通用持久性卷资源,它使用基于 exec 的插件来置备/附加。
类型
object
必填
  • driver
属性类型描述

driver

string

driver 是用于此卷的驱动程序的名称。

fsType

string

fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。

options

对象(字符串)

选项为 Optional:此字段包含额外的命令选项(若有)。

readOnly

布尔值

readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

5.1.18. .spec.flexVolume.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.19. .spec.flocker

描述
代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。
类型
object
属性类型描述

datasetName

string

datasetName 是数据存储为 Flocker dataset 上的 metadata name 的 Name,应被视为已弃用

datasetUUID

string

datasetUUID 是 dataset 的 UUID。这是 Flocker 数据集的唯一标识符

5.1.20. .spec.gcePersistentDisk

描述

代表 Google Compute Engine 中的 Persistent Disk 资源。

挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。

类型
object
必填
  • pdName
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

分区

整数

partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

pdName

string

pdName 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

5.1.21. .spec.glusterfs

描述
代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • 端点
  • path
属性类型描述

端点

string

Endpoints 是 Glusterfs 拓扑的详细信息的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

endpointsNamespace

string

endpointNamespace 是包含 Glusterfs 端点的命名空间。如果此字段为空,则 EndpointNamespace 默认为与绑定 PVC 相同的命名空间。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

path

string

path 是 Glusterfs 卷路径。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

readOnly

布尔值

此处的 readonly 将强制 Glusterfs 卷以只读权限挂载。默认为false。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

5.1.22. .spec.hostPath

描述
代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • path
属性类型描述

path

string

主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

type

string

HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

可能枚举值:- "" 用于向后兼容,如果给定路径上不存在 "BlockDevice" A 块设备,则必须存在于给定路径 - "Directory" A 字符设备,则给定路径 - "Directory" A 目录必须存在于给定路径中 - "DirectoryOrCreate " (如果给定路径中不存在),则会根据需要创建空目录,并带有文件模式 0755,使用 Kubelet 相同的组和所有权。- "File " A file must the given path - "FileOrCreate " 如果给定路径中没有,则会根据需要创建一个空文件,且文件模式为 0644,具有与 Kubelet 相同的组和所有权。- "Socket " A UNIX socket 必须存在于给定路径中

5.1.23. .spec.iscsi

描述
ISCSIPersistentVolumeSource 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • targetPortal
  • iqn
  • lun
属性类型描述

chapAuthDiscovery

布尔值

chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证

chapAuthSession

布尔值

chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi

initiatorName

string

initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。

iqn

string

IQN 是目标 iSCSI 限定名称。

iscsiInterface

string

iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。

lun

整数

LUN 是 iSCSI 目标号。

门户

数组(字符串)

门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

targetPortal

string

targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。

5.1.24. .spec.iscsi.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.25. .spec.local

描述
Local 代表带有节点关联性的直接附加存储(Beta 功能)
类型
object
必填
  • path
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。只有在 Path 是块设备时才适用。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则默认值为自动选择文件系统。

path

string

到节点上卷的完整路径的路径。它可以是目录或块设备(disk, partition, …​)。

5.1.26. .spec.nfs

描述
代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • server
  • path
属性类型描述

path

string

NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

readOnly

布尔值

此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

server

string

server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs

5.1.27. .spec.nodeAffinity

描述
VolumeNodeAffinity 定义限制来限制此卷可以被访问的节点。
类型
object
属性类型描述

required

object

节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。

5.1.28. .spec.nodeAffinity.required

描述
节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。
类型
object
必填
  • nodeSelectorTerms
属性类型描述

nodeSelectorTerms

array

必需。节点选择器术语列表。术语为 ORed。

nodeSelectorTerms[]

对象

null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。

5.1.29. .spec.nodeAffinity.required.nodeSelectorTerms

描述
必需。节点选择器术语列表。术语为 ORed。
类型
数组

5.1.30. .spec.nodeAffinity.required.nodeSelectorTerms[]

描述
null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
类型
object
属性类型描述

matchExpressions

array

按节点标签划分的节点选择器要求列表。

matchExpressions[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchFields

array

按节点字段划分的节点选择器要求列表。

matchFields[]

对象

节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

5.1.31. .spec.nodeAffinity.required.nodeSelectorTerms[].matchExpressions

描述
按节点标签划分的节点选择器要求列表。
类型
数组

5.1.32. .spec.nodeAffinity.required.nodeSelectorTerms[].matchExpressions[]

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

5.1.33. .spec.nodeAffinity.required.nodeSelectorTerms[].matchFields

描述
按节点字段划分的节点选择器要求列表。
类型
数组

5.1.34. .spec.nodeAffinity.required.nodeSelectorTerms[].matchFields[]

描述
节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
属性类型描述

key

字符串

选择器应用到的标签键。

operator

字符串

代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.

可能枚举值: - "DoesNotExist" - "Exists" - "Gt" - "In" - "Lt" - "NotIn"

values

数组(字符串)

字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。

5.1.35. .spec.photonPersistentDisk

描述
代表 Photon Controller 持久磁盘资源。
类型
object
必填
  • pdID
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

pdID

string

pdID 是标识 Photon Controller 持久磁盘的 ID

5.1.36. .spec.portworxVolume

描述
PortworxVolumeSource 代表 Portworx 卷资源。
类型
object
必填
  • volumeID
属性类型描述

fsType

string

fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs".如果未指定,则隐式推断为 "ext4"。

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

volumeID

string

VolumeId 唯一标识 Portworx 卷

5.1.37. .spec.quobyte

描述
代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
类型
object
必填
  • registry
属性类型描述

group

string

将卷访问映射到 Default 的组没有组

readOnly

布尔值

此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。

registry

string

registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry

tenant

string

在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置

user

string

用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户

string

volume 是按名称引用已创建 Quobyte 卷的字符串。

5.1.38. .spec.rbd

描述
代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。
类型
object
必填
  • monitor
  • image
属性类型描述

fsType

string

fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd

image

string

image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

keyring

string

keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

monitor

数组(字符串)

monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

pool

string

pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

readOnly

布尔值

此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

user

string

user 是 rados 用户名。默认为 admin。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it

5.1.39. .spec.rbd.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.40. .spec.scaleIO

描述
ScaleIOPersistentVolumeSource 代表持久的 ScaleIO 卷
类型
object
必填
  • gateway
  • system
  • secretRef
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认为 "xfs"

gateway

string

gateway 是 ScaleIO API 网关的主机地址。

protectionDomain

string

protectionDomain 是配置存储的 ScaleIO 保护域的名称。

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret

sslEnabled

布尔值

sslEnabled 是启用/禁用与网关的 SSL 通信的标志,默认为 false

storageMode

string

storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。

storagePool

string

StoragePool 是与保护域关联的 ScaleIO 存储池。

system

string

system 是 ScaleIO 中配置的存储系统的名称。

volumeName

string

volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。

5.1.41. .spec.scaleIO.secretRef

描述
secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
类型
object
属性类型描述

name

string

name 在命名空间中是唯一的,用于引用 secret 资源。

namespace

string

namespace 定义 secret 名称必须是唯一的的空间。

5.1.42. .spec.storageos

描述
代表 StorageOS 持久性卷资源。
类型
object
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

readOnly

布尔值

readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。

secretRef

object

ObjectReference 包含足够信息供您检查或修改引用的对象。

volumeName

string

volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。

volumeNamespace

string

volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。

5.1.43. .spec.storageos.secretRef

描述
ObjectReference 包含足够信息供您检查或修改引用的对象。
类型
object
属性类型描述

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.io/docs/concepts/overview/working-with-objects/names/#names

namespace

字符串

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

resourceVersion

字符串

指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

字符串

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

5.1.44. .spec.vsphereVolume

描述
代表 vSphere 卷资源。
类型
object
必填
  • volumePath
属性类型描述

fsType

string

fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。

storagePolicyID

string

storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。

storagePolicyName

string

StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。

volumePath

string

volumePath 是标识 vSphere 卷 vmdk 的路径

5.1.45. .status

描述
PersistentVolumeStatus 是持久性卷的当前状态。
类型
object
属性类型描述

lastPhaseTransitionTime

时间

lastPhaseTransitionTime 是阶段从一个到另一个的时间,并在每次卷阶段转换时自动重置为当前的时间。这是一个 beta 字段,需要启用 PersistentVolumeLastPhaseTransitionTime 功能(默认启用)。

message

string

Message 是人类可读的消息,指示卷处于此状态的详细信息。

phase

string

阶段表示卷是否可用,绑定到声明,或由声明发布。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase

可能枚举值: - 用于尚未绑定可用卷的 PersistentVolume 的 "Available" 由 binder 保留并匹配 PersistentVolumeClaims - "Bound" 用于绑定的 PersistentVolume - "Failed" 用于在从声明释放后正确回收或删除的 PersistentVolume - "Pending" 用于 PersistentVolume 这不可用 - 用于删除绑定 PersistentVolumeClaim 的 PersistentVolume 的 "Released ",在使用这个阶段再次可用前需要回收卷才可以被持久性卷声明绑定程序向另一个进程回收资源以回收资源

reason

string

reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.