PersistentVolume

PersistentVolume (PV) 是由管理员配置的存储资源。

apiVersion: v1

import "k8s.io/api/core/v1"

PersistentVolume

PersistentVolume (PV) 是由管理员配置的存储资源。它类似于一个节点。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes


PersistentVolumeSpec

PersistentVolumeSpec 是持久卷的规范。


  • accessModes ([]string)

    原子:将在合并期间被替换

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

  • capacity (map[string]Quantity)

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

  • claimRef (ObjectReference)

    claimRef 是 PersistentVolume 和 PersistentVolumeClaim 之间双向绑定的一部分。在绑定时期望为非空值。claim.VolumeName 是 PV 和 PVC 之间具有权威性的绑定。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#binding

  • mountOptions ([]string)

    原子:将在合并期间被替换

    mountOptions 是挂载选项列表,例如 ["ro", "soft"]。不做验证——如果其中一个无效,挂载将直接失败。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes/#mount-options

  • nodeAffinity (VolumeNodeAffinity)

    nodeAffinity 定义了限制此卷可在哪些节点上访问的约束。此字段会影响使用此卷的 Pod 的调度。如果启用了 MutablePVNodeAffinity 功能门控,则此字段是可变的。

    VolumeNodeAffinity 定义了限制此卷可在哪些节点上访问的约束。

    • nodeAffinity.required (NodeSelector)

      required 指定必须满足的硬性节点约束。

      节点选择器表示对一组节点进行一个或多个标签查询的结果的并集;也就是说,它表示由节点选择器术语表示的选择器的 OR。

      • nodeAffinity.required.nodeSelectorTerms ([]NodeSelectorTerm), required

        原子:将在合并期间被替换

        必需。节点选择器术语列表。这些术语是 OR 关系。

        空或空的节点选择器术语不匹配任何对象。它们的条件是 AND 关系。TopologySelectorTerm 类型实现了 NodeSelectorTerm 的子集。

        • nodeAffinity.required.nodeSelectorTerms.matchExpressions ([]NodeSelectorRequirement)

          原子:将在合并期间被替换

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

        • nodeAffinity.required.nodeSelectorTerms.matchFields ([]NodeSelectorRequirement)

          原子:将在合并期间被替换

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

  • persistentVolumeReclaimPolicy (string)

    persistentVolumeReclaimPolicy 定义了当持久卷从其声明中释放时会发生什么。有效选项包括 Retain(手动创建的 PersistentVolume 的默认值)、Delete(动态配置的 PersistentVolume 的默认值)和 Recycle(已弃用)。Recycle 必须由该 PersistentVolume 底层的卷插件支持。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#reclaiming

    可能的枚举值

    • "Delete" 意味着卷在从其声明中释放后将从 Kubernetes 中删除。卷插件必须支持删除操作。
    • "Recycle" 意味着卷在从其声明中释放后将被回收回到未绑定的持久卷池中。卷插件必须支持回收操作。
    • "Retain" 意味着卷将保留在当前阶段(Released),以便管理员手动回收。默认策略是 Retain。
  • storageClassName (string)

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

  • volumeAttributesClassName (string)

    此持久卷所属的 VolumeAttributesClass 的名称。不允许为空值。当未设置此字段时,表示该卷不属于任何 VolumeAttributesClass。此字段是可变的,在卷成功更新为新类后,可以由 CSI 驱动程序更改。对于未绑定的 PersistentVolume,在绑定过程中,volumeAttributesClassName 将与未绑定的 PersistentVolumeClaims 进行匹配。

  • volumeMode (string)

    volumeMode 定义卷是用于格式化的文件系统,还是保持原始块状态。如果规格中未包含,则隐含 Filesystem 值。

    可能的枚举值

    • "Block" 意味着卷不会使用文件系统格式化,并将保持为原始块设备。
    • "Filesystem" 意味着卷将使用文件系统格式化或已经是格式化的。

Local

  • hostPath (HostPathVolumeSource)

    hostPath 表示主机上的目录。由开发人员或测试人员配置。仅适用于单节点开发和测试!主机存储不支持任何形式的冗余,并且在多节点集群中将无法工作。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

    表示映射到 Pod 中的主机路径。HostPath 卷不支持所有权管理或 SELinux 标签重置。

    • hostPath.path (string), required

      主机上目录的路径。如果路径是符号链接,它将跟随链接到真实路径。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

    • hostPath.type (string)

      HostPath 卷的类型。默认为 ""。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#hostpath

      可能的枚举值

      • "" 为了向后兼容,如果未设置,请留空
      • "BlockDevice" 给定路径下必须存在块设备
      • "CharDevice" 给定路径下必须存在字符设备
      • "Directory" 给定路径下必须存在目录
      • "DirectoryOrCreate" 如果给定路径下不存在任何内容,则按需创建一个权限为 0755 的空目录,其组和所有权与 Kubelet 相同。
      • "File" 给定路径下必须存在文件
      • "FileOrCreate" 如果给定路径下不存在任何内容,则按需创建一个权限为 0644 的空文件,其组和所有权与 Kubelet 相同。
      • "Socket" 给定路径下必须存在 UNIX 套接字
  • local (LocalVolumeSource)

    local 表示具有节点亲和性的直接附加存储

    Local 表示具有节点亲和性的直接附加存储

    • local.path (string), required

      节点上卷的完整路径。它可以是目录或块设备(磁盘、分区等)。

    • local.fsType (string)

      fsType 是要挂载的文件系统类型。仅当路径为块设备时适用。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认值是自动选择文件系统。

Persistent volumes

  • awsElasticBlockStore (AWSElasticBlockStoreVolumeSource)

    awsElasticBlockStore 表示附加到 Kubelet 主机机器并暴露给 Pod 的 AWS 磁盘资源。已弃用:AWSElasticBlockStore 已弃用。所有针对树内 awsElasticBlockStore 类型的操作都将重定向到 ebs.csi.aws.com CSI 驱动程序。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#awselasticblockstore

    *表示 AWS 中的持久磁盘资源。

    在挂载到容器之前,AWS EBS 磁盘必须已经存在。该磁盘还必须与 Kubelet 位于同一个 AWS 可用区。AWS EBS 磁盘只能以读/写模式挂载一次。AWS EBS 卷支持所有权管理和 SELinux 标签重置。*

  • azureDisk (AzureDiskVolumeSource)

    azureDisk 表示主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。已弃用:AzureDisk 已弃用。所有针对树内 azureDisk 类型的操作都将重定向到 disk.csi.azure.com CSI 驱动程序。

    AzureDisk 表示主机上的 Azure 数据磁盘挂载并绑定挂载到 Pod。

    • azureDisk.diskName (string), required

      diskName 是 Blob 存储中数据磁盘的名称

    • azureDisk.diskURI (string), required

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

    • azureDisk.cachingMode (string)

      cachingMode 是主机缓存模式:None、ReadOnly、ReadWrite。

      可能的枚举值

      • "None"
      • "ReadOnly"
      • "ReadWrite"
    • azureDisk.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。

    • azureDisk.kind (string)

      kind 的期望值包括:Shared(每个存储账户多个 Blob 磁盘)、Dedicated(每个存储账户单个 Blob 磁盘)、Managed(Azure 托管数据磁盘,仅在托管可用性集中)。默认为 Shared。

      可能的枚举值

      • "Dedicated"
      • "Managed"
      • "Shared"
    • azureDisk.readOnly (boolean)

      readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

  • azureFile (AzureFilePersistentVolumeSource)

    azureFile 表示主机上的 Azure 文件服务挂载并绑定挂载到 Pod。已弃用:AzureFile 已弃用。所有针对树内 azureFile 类型的操作都将重定向到 file.csi.azure.com CSI 驱动程序。

    AzureFile 表示主机上的 Azure 文件服务挂载并绑定挂载到 Pod。

    • azureFile.secretName (string), required

      secretName 是包含 Azure 存储账户名称和密钥的 Secret 名称

    • azureFile.shareName (string), required

      shareName 是 Azure 共享名称

    • azureFile.readOnly (boolean)

      readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

    • azureFile.secretNamespace (string)

      secretNamespace 是包含 Azure 存储账户名称和密钥的 Secret 的命名空间,默认与 Pod 相同。

  • cephfs (CephFSPersistentVolumeSource)

    cephFS 表示主机上共享 Pod 生命周期的 Ceph FS 挂载。已弃用:CephFS 已弃用,且树内 cephfs 类型不再受支持。

    表示持续整个 Pod 生命周期的 Ceph 文件系统挂载。Cephfs 卷不支持所有权管理或 SELinux 标签重置。

  • cinder (CinderPersistentVolumeSource)

    cinder 表示附加并挂载到 Kubelet 主机机器上的 Cinder 卷。已弃用:Cinder 已弃用。所有针对树内 cinder 类型的操作都将重定向到 cinder.csi.openstack.org CSI 驱动程序。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

    表示 OpenStack 中的 Cinder 卷资源。在挂载到容器之前,Cinder 卷必须已经存在。该卷还必须与 Kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 标签重置。

    • cinder.volumeID (string), required

      volumeID 用于在 Cinder 中标识卷。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

    • cinder.fsType (string)

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

    • cinder.readOnly (boolean)

      readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。更多信息:https://examples.k8s.io/mysql-cinder-pd/README.md

    • cinder.secretRef (SecretReference)

      secretRef 是可选的:指向包含用于连接 OpenStack 的参数的 Secret 对象。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • cinder.secretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • cinder.secretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

  • csi (CSIPersistentVolumeSource)

    csi 表示由外部 CSI 驱动程序处理的存储。

    表示由外部 CSI 卷驱动程序管理的存储

    • csi.driver (string), required

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

    • csi.volumeHandle (string), required

      volumeHandle 是 CSI 卷插件的 CreateVolume 返回的唯一卷名称,用于在所有后续调用中引用该卷。必填项。

    • csi.controllerExpandSecretRef (SecretReference)

      controllerExpandSecretRef 是对 Secret 对象的引用,该对象包含传递给 CSI 驱动程序以完成 CSI ControllerExpandVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,可以为空。如果 Secret 对象包含多个 Secret,则传递所有 Secret。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • csi.controllerExpandSecretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • csi.controllerExpandSecretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • csi.controllerPublishSecretRef (SecretReference)

      controllerPublishSecretRef 是对 Secret 对象的引用,该对象包含传递给 CSI 驱动程序以完成 CSI ControllerPublishVolume 和 ControllerUnpublishVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,可以为空。如果 Secret 对象包含多个 Secret,则传递所有 Secret。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • csi.controllerPublishSecretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • csi.controllerPublishSecretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • csi.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。

    • csi.nodeExpandSecretRef (SecretReference)

      nodeExpandSecretRef 是对 Secret 对象的引用,该对象包含传递给 CSI 驱动程序以完成 CSI NodeExpandVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,可以省略。如果 Secret 对象包含多个 Secret,则传递所有 Secret。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • csi.nodeExpandSecretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • csi.nodeExpandSecretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • csi.nodePublishSecretRef (SecretReference)

      nodePublishSecretRef 是对 Secret 对象的引用,该对象包含传递给 CSI 驱动程序以完成 CSI NodePublishVolume 和 NodeUnpublishVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,可以为空。如果 Secret 对象包含多个 Secret,则传递所有 Secret。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • csi.nodePublishSecretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • csi.nodePublishSecretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • csi.nodeStageSecretRef (SecretReference)

      nodeStageSecretRef 是对 Secret 对象的引用,该对象包含传递给 CSI 驱动程序以完成 CSI NodeStageVolume 和 NodeUnstageVolume 调用的敏感信息。此字段是可选的,如果不需要 Secret,可以为空。如果 Secret 对象包含多个 Secret,则传递所有 Secret。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • csi.nodeStageSecretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • csi.nodeStageSecretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • csi.readOnly (boolean)

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

    • csi.volumeAttributes (map[string]string)

      要发布的卷的 volumeAttributes。

  • fc (FCVolumeSource)

    fc 表示附加到 Kubelet 主机机器并暴露给 Pod 的光纤通道(Fibre Channel)资源。

    表示光纤通道卷。光纤通道卷只能以读/写模式挂载一次。光纤通道卷支持所有权管理和 SELinux 标签重置。

    • fc.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。

    • fc.lun (int32)

      lun 是可选的:FC 目标 LUN 编号

    • fc.readOnly (boolean)

      readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

    • fc.targetWWNs ([]string)

      原子:将在合并期间被替换

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

    • fc.wwids ([]string)

      原子:将在合并期间被替换

      wwids 是可选的:FC 卷全球唯一标识符(WWID)。必须设置 wwids 或 targetWWNs 和 lun 的组合,但不能同时设置两者。

  • flexVolume (FlexPersistentVolumeSource)

    flexVolume 表示使用基于 exec 的插件配置/附加的通用卷资源。已弃用:FlexVolume 已弃用。考虑改为使用 CSIDriver。

    FlexPersistentVolumeSource 表示使用基于 exec 的插件配置/附加的通用持久卷资源。

    • flexVolume.driver (string), required

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

    • flexVolume.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。默认文件系统取决于 FlexVolume 脚本。

    • flexVolume.options (map[string]string)

      options 是可选的:此字段包含额外的命令选项(如有)。

    • flexVolume.readOnly (boolean)

      readOnly 是可选的:默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

    • flexVolume.secretRef (SecretReference)

      secretRef 是可选的:SecretRef 是对包含传递给插件脚本的敏感信息的 Secret 对象的引用。如果未指定 Secret 对象,则此字段可以为空。如果 Secret 对象包含多个 Secret,则会将所有 Secret 传递给插件脚本。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • flexVolume.secretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • flexVolume.secretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

  • flocker (FlockerVolumeSource)

    flocker 表示附加到 Kubelet 主机机器并暴露给 Pod 使用的 Flocker 卷。这取决于 Flocker 控制服务是否在运行。已弃用:Flocker 已弃用,且树内 flocker 类型不再受支持。

    表示由 Flocker 代理挂载的 Flocker 卷。datasetName 和 datasetUUID 应当有且仅有一个被设置。Flocker 卷不支持所有权管理或 SELinux 标签重置。

    • flocker.datasetName (string)

      datasetName 是存储为元数据的数据集名称 -> Flocker 数据集的名称应被视为已弃用

    • flocker.datasetUUID (string)

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

  • gcePersistentDisk (GCEPersistentDiskVolumeSource)

    gcePersistentDisk 表示附加到 Kubelet 主机机器并暴露给 Pod 的 GCE 磁盘资源。由管理员配置。已弃用:GCEPersistentDisk 已弃用。所有针对树内 gcePersistentDisk 类型的操作都将重定向到 pd.csi.storage.gke.io CSI 驱动程序。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#gcepersistentdisk

    *表示 Google Compute Engine 中的持久磁盘资源。

    在挂载到容器之前,GCE PD 必须已经存在。该磁盘还必须与 Kubelet 位于同一个 GCE 项目和可用区。GCE PD 只能以读/写模式挂载一次,或以只读模式挂载多次。GCE PD 支持所有权管理和 SELinux 标签重置。*

  • glusterfs (GlusterfsPersistentVolumeSource)

    glusterfs 表示附加到主机并暴露给 Pod 的 Glusterfs 卷。由管理员配置。已弃用:Glusterfs 已弃用,且树内 glusterfs 类型不再受支持。更多信息:https://examples.k8s.io/volumes/glusterfs/README.md

    表示持续整个 Pod 生命周期的 Glusterfs 挂载。Glusterfs 卷不支持所有权管理或 SELinux 标签重置。

  • iscsi (ISCSIPersistentVolumeSource)

    iscsi 表示附加到 Kubelet 主机机器并暴露给 Pod 的 ISCSI 磁盘资源。由管理员配置。

    ISCSIPersistentVolumeSource 表示一个 ISCSI 磁盘。ISCSI 卷只能以读/写模式挂载一次。ISCSI 卷支持所有权管理和 SELinux 标签重置。

    • iscsi.iqn (string), required

      iqn 是目标 iSCSI 限定名称。

    • iscsi.lun (int32), required

      lun 是 iSCSI 目标 LUN 编号。

    • iscsi.targetPortal (string), required

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

    • iscsi.chapAuthDiscovery (boolean)

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

    • iscsi.chapAuthSession (boolean)

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

    • iscsi.fsType (string)

      fsType 是您要挂载的卷的文件系统类型。提示:确保主机操作系统支持该文件系统类型。示例:"ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#iscsi

    • iscsi.initiatorName (string)

      initiatorName 是自定义 iSCSI 发起程序名称。如果同时指定了 initiatorName 和 iscsiInterface,则将为连接创建新的 iSCSI 接口 <target portal>:<volume name>。

    • iscsi.iscsiInterface (string)

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

    • iscsi.portals ([]string)

      原子:将在合并期间被替换

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

    • iscsi.readOnly (boolean)

      此处的 readOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。默认为 false。

    • iscsi.secretRef (SecretReference)

      secretRef 是用于 iSCSI 目标和发起程序身份验证的 CHAP Secret

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • iscsi.secretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • iscsi.secretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

  • nfs (NFSVolumeSource)

    nfs 表示主机上的 NFS 挂载。由管理员配置。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/volumes#nfs

    表示持续整个 Pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 标签重置。

  • photonPersistentDisk (PhotonPersistentDiskVolumeSource)

    photonPersistentDisk 表示附加并挂载到 Kubelet 主机机器上的 PhotonController 持久磁盘。已弃用:PhotonPersistentDisk 已弃用,且树内 photonPersistentDisk 类型不再受支持。

    表示 Photon Controller 持久磁盘资源。

    • photonPersistentDisk.pdID (string), required

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

    • photonPersistentDisk.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。

  • portworxVolume (PortworxVolumeSource)

    portworxVolume 表示附加并挂载到 Kubelet 主机机器上的 Portworx 卷。已弃用:PortworxVolume 已弃用。当启用了 CSIMigrationPortworx 功能门控时,所有针对树内 portworxVolume 类型的操作都将重定向到 pxd.portworx.com CSI 驱动程序。

    PortworxVolumeSource 表示 Portworx 卷资源。

    • portworxVolume.volumeID (string), required

      volumeID 是 Portworx 卷的唯一标识符

    • portworxVolume.fsType (string)

      fSType 表示要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"。如果不指定,默认推断为 "ext4"。

    • portworxVolume.readOnly (boolean)

      readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

  • quobyte (QuobyteVolumeSource)

    quobyte 表示主机上共享 Pod 生命周期的 Quobyte 挂载。已弃用:Quobyte 已弃用,且树内 quobyte 类型不再受支持。

    表示持续整个 Pod 生命周期的 Quobyte 挂载。Quobyte 卷不支持所有权管理或 SELinux 标签重置。

    • quobyte.registry (string), required

      registry 表示作为 host:port 对(多个条目用逗号分隔)的字符串指定的单个或多个 Quobyte 注册中心服务,它充当卷的中央注册中心

    • quobyte.volume (string), required

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

    • quobyte.group (string)

      将卷访问权限映射到的组,默认无组

    • quobyte.readOnly (boolean)

      此处的 readOnly 将强制 Quobyte 卷以只读权限挂载。默认为 false。

    • quobyte.tenant (string)

      后端中拥有给定 Quobyte 卷的租户。用于动态配置的 Quobyte 卷,值由插件设置

    • quobyte.user (string)

      将卷访问权限映射到的用户。默认为 serviceaccount 用户

  • rbd (RBDPersistentVolumeSource)

    rbd 表示主机上共享 Pod 生命周期的 Rados 块设备挂载。已弃用:RBD 已弃用,且树内 rbd 类型不再受支持。更多信息:https://examples.k8s.io/volumes/rbd/README.md

    表示持续整个 Pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 标签重置。

  • scaleIO (ScaleIOPersistentVolumeSource)

    scaleIO 表示附加并挂载到 Kubernetes 节点上的 ScaleIO 持久卷。已弃用:ScaleIO 已弃用,且树内 scaleIO 类型不再受支持。

    ScaleIOPersistentVolumeSource 表示一个持久 ScaleIO 卷

    • scaleIO.gateway (string), required

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

    • scaleIO.secretRef (SecretReference), required

      secretRef 引用 ScaleIO 用户和其他敏感信息的 Secret。如果未提供,登录操作将失败。

      SecretReference 表示 Secret 引用。它包含检索任何命名空间中 Secret 所需的信息。

      • scaleIO.secretRef.name (string)

        name 是命名空间内唯一的 Secret 资源引用。

      • scaleIO.secretRef.namespace (string)

        namespace 定义了 Secret 名称必须唯一所在的空间。

    • scaleIO.system (string), required

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

    • scaleIO.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。默认值为 "xfs"

    • scaleIO.protectionDomain (string)

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

    • scaleIO.readOnly (boolean)

      readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

    • scaleIO.sslEnabled (boolean)

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

    • scaleIO.storageMode (string)

      storageMode 指示卷的存储应为 ThickProvisioned 还是 ThinProvisioned。默认值为 ThinProvisioned。

    • scaleIO.storagePool (string)

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

    • scaleIO.volumeName (string)

      volumeName 是已在 ScaleIO 系统中创建并与此卷源关联的卷名称。

  • storageos (StorageOSPersistentVolumeSource)

    storageOS 表示附加到 Kubelet 主机机器并挂载到 Pod 中的 StorageOS 卷。已弃用:StorageOS 已弃用,且树内 storageos 类型不再受支持。更多信息:https://examples.k8s.io/volumes/storageos/README.md

    表示 StorageOS 持久卷资源。

    • storageos.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。

    • storageos.readOnly (boolean)

      readOnly 默认为 false(读/写)。此处的 ReadOnly 将强制执行 VolumeMounts 中的 ReadOnly 设置。

    • storageos.secretRef (ObjectReference)

      secretRef 指定用于获取 StorageOS API 凭据的 Secret。如果未指定,将尝试使用默认值。

    • storageos.volumeName (string)

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

    • storageos.volumeNamespace (string)

      volumeNamespace 指定 StorageOS 内卷的作用域。如果未指定命名空间,则将使用 Pod 的命名空间。这允许将 Kubernetes 名称作用域镜像到 StorageOS 中,以实现更紧密的集成。设置 VolumeName 为任意名称以覆盖默认行为。如果您没有在 StorageOS 中使用命名空间,请设置为 "default"。StorageOS 中尚不存在的命名空间将被创建。

  • vsphereVolume (VsphereVirtualDiskVolumeSource)

    vsphereVolume 表示附加并挂载到 Kubelet 主机机器上的 vSphere 卷。已弃用:VsphereVolume 已弃用。所有针对树内 vsphereVolume 类型的操作都将重定向到 csi.vsphere.vmware.com CSI 驱动程序。

    表示 vSphere 卷资源。

    • vsphereVolume.volumePath (string), required

      volumePath 是标识 vSphere 卷 vmdk 的路径

    • vsphereVolume.fsType (string)

      fsType 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。例如 "ext4"、"xfs"、"ntfs"。如果不指定,默认推断为 "ext4"。

    • vsphereVolume.storagePolicyID (string)

      storagePolicyID 是与 StoragePolicyName 关联的基于存储策略的管理 (SPBM) 配置文件 ID。

    • vsphereVolume.storagePolicyName (string)

      storagePolicyName 是基于存储策略的管理 (SPBM) 配置文件名称。

PersistentVolumeStatus

PersistentVolumeStatus 是持久卷的当前状态。


  • lastPhaseTransitionTime (Time)

    lastPhaseTransitionTime 是阶段从一个状态转换到另一个状态的时间,并且每次卷阶段转换时都会自动重置为当前时间。

    Time 是 time.Time 的包装器,支持正确地编组到 YAML 和 JSON。为时间包提供的许多工厂方法提供包装器。

  • message (string)

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

  • phase (string)

    phase 指示卷是可用的、绑定到声明,还是被声明释放。更多信息:https://kubernetes.ac.cn/docs/concepts/storage/persistent-volumes#phase

    可能的枚举值

    • "Available" 用于尚未绑定的 PersistentVolume。可用卷由绑定器持有并与 PersistentVolumeClaim 匹配
    • "Bound" 用于已绑定的 PersistentVolume
    • "Failed" 用于在从声明中释放后未能正确回收或删除的 PersistentVolume
    • "Pending" 用于不可用的 PersistentVolume
    • "Released" 用于已绑定的 PersistentVolumeClaim 已被删除的 PersistentVolume。已释放的卷必须在再次变得可用之前进行回收。此阶段被 PersistentVolumeClaim 绑定器用于向另一个进程发出回收资源的信号
  • reason (string)

    reason 是一个简短的 CamelCase 字符串,描述任何失败情况,旨在用于机器解析和在 CLI 中整洁地显示。

PersistentVolumeList

PersistentVolumeList 是 PersistentVolume 项的列表。


操作


get 读取指定的 PersistentVolume

HTTP 请求

GET /api/v1/persistentvolumes/{name}

Parameters

  • name (在路径中): string, 必需

    PersistentVolume 的名称

  • pretty (在查询中): string

    pretty

响应

200 (PersistentVolume): 成功

401: 未授权

get 读取指定 PersistentVolume 的状态

HTTP 请求

GET /api/v1/persistentvolumes/{name}/status

Parameters

  • name (在路径中): string, 必需

    PersistentVolume 的名称

  • pretty (在查询中): string

    pretty

响应

200 (PersistentVolume): 成功

401: 未授权

list 列出或监视 PersistentVolume 类型的对象

HTTP 请求

GET /api/v1/persistentvolumes

Parameters

响应

200 (PersistentVolumeList): 成功

401: 未授权

create 创建一个 PersistentVolume

HTTP 请求

POST /api/v1/persistentvolumes

Parameters

响应

200 (PersistentVolume): 成功

201 (PersistentVolume): 已创建

202 (PersistentVolume): 已接受

401: 未授权

update 替换指定的 PersistentVolume

HTTP 请求

PUT /api/v1/persistentvolumes/{name}

Parameters

响应

200 (PersistentVolume): 成功

201 (PersistentVolume): 已创建

401: 未授权

update 替换指定 PersistentVolume 的状态

HTTP 请求

PUT /api/v1/persistentvolumes/{name}/status

Parameters

响应

200 (PersistentVolume): 成功

201 (PersistentVolume): 已创建

401: 未授权

patch 部分更新指定的 PersistentVolume

HTTP 请求

PATCH /api/v1/persistentvolumes/{name}

Parameters

  • name (在路径中): string, 必需

    PersistentVolume 的名称

  • body: Patch, 必需

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (在查询中): string

    pretty

响应

200 (PersistentVolume): 成功

201 (PersistentVolume): 已创建

401: 未授权

patch 部分更新指定 PersistentVolume 的状态

HTTP 请求

PATCH /api/v1/persistentvolumes/{name}/status

Parameters

  • name (在路径中): string, 必需

    PersistentVolume 的名称

  • body: Patch, 必需

  • dryRun (在查询中): string

    dryRun

  • fieldManager (在查询中): string

    fieldManager

  • fieldValidation (在查询中): string

    fieldValidation

  • force (in query): boolean

    force

  • pretty (在查询中): string

    pretty

响应

200 (PersistentVolume): 成功

201 (PersistentVolume): 已创建

401: 未授权

delete 删除一个 PersistentVolume

HTTP 请求

DELETE /api/v1/persistentvolumes/{name}

Parameters

响应

200 (PersistentVolume): 成功

202 (PersistentVolume): 已接受

401: 未授权

deletecollection 删除 PersistentVolume 集合

HTTP 请求

DELETE /api/v1/persistentvolumes

Parameters

响应

200 (Status): 确定

401: 未授权


最后修改时间 2025 年 12 月 21 日 下午 5:37 PST: 更新 v1.35 的资源文档 (85b57273c5)

本页面是自动生成的。

如果您打算报告此页面的问题,请在您的问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。