第 5 章 PersistentVolume [v1]
- 描述
- PersistentVolume (PV)是管理员置备的存储资源。类似于节点。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes
- 类型
-
对象
5.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 | |
|
| PersistentVolumeSpec 是持久性卷的规格。 |
|
| PersistentVolumeStatus 是持久性卷的当前状态。 |
5.1.1. .spec
- 描述
- PersistentVolumeSpec 是持久性卷的规格。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| accessModes 包含可以挂载卷的所有方法。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes |
|
| 代表 AWS 中的持久磁盘资源。 在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。 |
|
| azureDisk 代表主机上的 Azure Data Disk 挂载,并绑定到 pod。 |
|
| azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。 |
| capacity 是持久性卷资源和容量的描述。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity | |
|
| 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
|
| 代表由外部 CSI 卷驱动程序管理的存储(Beta 功能) |
|
| 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。 |
|
| FlexPersistentVolumeSource 代表一个通用持久性卷资源,它使用基于 exec 的插件来置备/附加。 |
|
| 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表 Google Compute Engine 中的 Persistent Disk 资源。 挂载到容器前,GCE PD 必须存在。磁盘还必须位于与 kubelet 相同的 GCE 项目和区中。GCE PD 只能挂载为读/写一次或多次只读。GCE PDs 支持所有权管理和 SELinux 重新标记。 |
|
| 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。 |
|
| ISCSIPersistentVolumeSource 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。 |
|
| Local 代表带有节点关联性的直接附加存储(Beta 功能) |
|
| mountOptions 是挂载选项的列表,如 ["ro", "soft"]。未验证 - 如果挂载无效,则挂载将失败。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options |
|
| 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。 |
|
| VolumeNodeAffinity 定义限制来限制此卷可以被访问的节点。 |
|
| persistentVolumeReclaimPolicy 定义从声明中释放持久性卷时会发生什么。有效选项为 Retain (手动创建 PersistentVolume 的默认设置)、Delete (动态置备的 PersistentVolume 的默认)和 Recycle (已弃用)。Recycle 必须由此 PersistentVolume 的卷插件支持。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming
可能枚举值: - |
|
| 代表 Photon Controller 持久磁盘资源。 |
|
| PortworxVolumeSource 代表 Portworx 卷资源。 |
|
| 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。 |
|
| 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。 |
|
| ScaleIOPersistentVolumeSource 代表持久的 ScaleIO 卷 |
|
| storageClassName 是此持久性卷所属的 StorageClass 的名称。空值表示这个卷不属于任何 StorageClass。 |
|
| 代表 StorageOS 持久性卷资源。 |
|
| volumeMode 定义卷是否要与格式化的文件系统一起使用,或者保持在原始块状态。当没有包含在 spec 中时,文件系统的值会被表示。 |
|
| 代表 vSphere 卷资源。 |
5.1.2. .spec.awsElasticBlockStore
- 描述
代表 AWS 中的持久磁盘资源。
在挂载到容器前,必须存在 AWS EBS 磁盘。磁盘也必须与 kubelet 位于同一个 AWS 区中。AWS EBS 磁盘只能挂载为读/写一次。AWS EBS 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| partition 是您要挂载的卷中的分区。如果省略,则默认使用卷名称来挂载。示例: 对于卷 /dev/sda1,您可以将分区指定为 "1"。同样,/dev/sda 的卷分区是"0" (或者您可以将属性留空)。 |
|
| readonly 值 true 将强制 VolumeMount 中的 readOnly 设置。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
|
| 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 是主机缓存模式: None、Read Only、Read Write。 |
|
| diskname 是 blob 存储中的数据磁盘的 Name |
|
| diskURI 是 blob 存储中的数据磁盘的 URI |
|
| fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| kind 预期值为 Shared: 每个存储帐户 Dedicated 有多个 blob 磁盘:每个存储帐户 Managed: azure managed data disk (only on managed availability set). 默认为 shared |
|
| readonly Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
5.1.4. .spec.azureFile
- 描述
- azureFile 代表主机上的 Azure File Service 挂载,并绑定到 pod。
- 类型
-
object
- 必填
-
secretName
-
shareName
-
属性 | 类型 | 描述 |
---|---|---|
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretName 是包含 Azure Storage Account Name 和 Key 的 secret 名称 |
|
| secretNamespace 是包含 Azure Storage Account Name 和 Key default 的 secret 的命名空间与 Pod 相同 |
|
| sharename 是 azure Share Name |
5.1.5. .spec.cephfs
- 描述
- 代表持续 pod Cephfs 卷生命周期的 Ceph 文件系统挂载不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
属性 | 类型 | 描述 |
---|---|---|
|
| monitor 是必需的: monitor 是 Ceph 监视器更多信息的集合: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| 路径为可选:作为挂载的 root 使用,而不是完整的 Ceph 树,默认为 / |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| secretfile 为 Optional: SecretFile 是用户密钥环的路径,默认为 /etc/ceph/user.secret 更多信息 :https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| 用户是可选的:用户是 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 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.7. .spec.cinder
- 描述
- 代表 Openstack 中的 Cinder 卷资源。挂载到容器之前,必须存在 Cinder 卷。卷也必须与 kubelet 位于同一个区域。Cinder 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| 要挂载的 fstype Filesystem 类型。必须是主机操作系统支持的文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| 用于识别 cinder 中的卷的 VolumeId。更多信息: https://examples.k8s.io/mysql-cinder-pd/README.md |
5.1.8. .spec.cinder.secretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.9. .spec.claimRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
5.1.10. .spec.csi
- 描述
- 代表由外部 CSI 卷驱动程序管理的存储(Beta 功能)
- 类型
-
object
- 必填
-
driver
-
volumeHandle
-
属性 | 类型 | 描述 |
---|---|---|
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| driver 是用于此卷的驱动程序的名称。必需。 |
|
| 要挂载的 fstype。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs". |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| 传递给 ControllerPublishVolumeRequest 的 readonly 值。默认为 false (读/写)。 |
|
| 要发布的卷的 volumeAttributes。 |
|
| volumeHandle 是 CSI 卷插件的 CreateVolume 返回的唯一卷名称,以便在所有后续调用中引用卷。必需。 |
5.1.11. .spec.csi.controllerExpandSecretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.12. .spec.csi.controllerPublishSecretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.13. .spec.csi.nodeExpandSecretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.14. .spec.csi.nodePublishSecretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.15. .spec.csi.nodeStageSecretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.16. .spec.fc
- 描述
- 代表光纤通道卷。Fibre Channel 卷只能挂载为读/写一次。Fibre Channel 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| LUN 是可选的:FC 目标 lun 号 |
|
| readonly 为 Optional: Defaults to false (read/write)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| targetWWNs 是可选:FC 目标全球名称(WWN) |
|
| wwids 可选:FC 卷全局范围标识符(wwids) Either wwids 或 targetWWN 和 lun 的组合必须被设置,但不能同时设置。 |
5.1.17. .spec.flexVolume
- 描述
- FlexPersistentVolumeSource 代表一个通用持久性卷资源,它使用基于 exec 的插件来置备/附加。
- 类型
-
object
- 必填
-
driver
-
属性 | 类型 | 描述 |
---|---|---|
|
| driver 是用于此卷的驱动程序的名称。 |
|
| fstype 是要挂载的 Filesystem 类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认文件系统依赖于 FlexVolume 脚本。 |
|
| 选项为 Optional:此字段包含额外的命令选项(若有)。 |
|
| readonly 为 Optional: 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
5.1.18. .spec.flexVolume.secretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.19. .spec.flocker
- 描述
- 代表 Flocker 代理挂载的 Flocker 卷。应该设置一个 datasetName 和 datasetUUID 之一。flocker 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
|
datasetName 是数据存储为 Flocker dataset 上的 metadata |
|
| 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 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"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 是 GCE 中的 PD 资源的唯一名称。用于识别 GCE 中的磁盘。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
5.1.21. .spec.glusterfs
- 描述
- 代表持续 pod 生命周期的 Glusterfs 挂载。GlusterFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
端点
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| Endpoints 是 Glusterfs 拓扑的详细信息的端点名称。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| endpointNamespace 是包含 Glusterfs 端点的命名空间。如果此字段为空,则 EndpointNamespace 默认为与绑定 PVC 相同的命名空间。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| path 是 Glusterfs 卷路径。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
|
| 此处的 readonly 将强制 Glusterfs 卷以只读权限挂载。默认为false。更多信息: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
5.1.22. .spec.hostPath
- 描述
- 代表映射到 pod 的主机路径。主机路径卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| 主机上目录的路径。如果路径是符号链接,它将遵循指向实际路径的链接。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
|
| HostPath Volume 默认为 "" 更多信息: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
5.1.23. .spec.iscsi
- 描述
- ISCSIPersistentVolumeSource 代表 ISCSI 磁盘。ISCSI 卷只能挂载为读/写一次。ISCSI 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
targetPortal
-
iqn
-
lun
-
属性 | 类型 | 描述 |
---|---|---|
|
| chapAuthDiscovery 定义是否支持 iSCSI Discovery CHAP 身份验证 |
|
| chapAuthSession 定义是否支持 iSCSI 会话 CHAP 身份验证 |
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#iscsi |
|
| initiatorname 是自定义 iSCSI 启动器名称。如果同时使用 iscsiInterface 指定 initiatorName,则会为连接创建新的 iSCSI 接口 <target portal>:<volume name>。 |
|
| IQN 是目标 iSCSI 限定名称。 |
|
| iscsiInterface 是使用 iSCSI 传输的接口名称。默认为 'default'(tcp)。 |
|
| LUN 是 iSCSI 目标号。 |
|
| 门户是 iSCSI 目标门户列表。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。 |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| targetPortal 是 iSCSI 目标门户。如果端口不是默认值(通常为 TCP 端口 860 和 3260),则门户是 IP 或 ip_addr:port。 |
5.1.24. .spec.iscsi.secretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.25. .spec.local
- 描述
- Local 代表带有节点关联性的直接附加存储(Beta 功能)
- 类型
-
object
- 必填
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。只有在 Path 是块设备时才适用。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则默认值为自动选择文件系统。 |
|
| 到节点上卷的完整路径的路径。它可以是目录或块设备(disk, partition, …)。 |
5.1.26. .spec.nfs
- 描述
- 代表持续 pod 生命周期的 NFS 挂载。NFS 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
server
-
path
-
属性 | 类型 | 描述 |
---|---|---|
|
| NFS 服务器导出的路径。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| 此处的只读将强制使用只读权限挂载 NFS 导出。默认为false。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
|
| server 是 NFS 服务器的主机名或 IP 地址。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
5.1.27. .spec.nodeAffinity
- 描述
- VolumeNodeAffinity 定义限制来限制此卷可以被访问的节点。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。 |
5.1.28. .spec.nodeAffinity.required
- 描述
- 节点选择器代表一组节点上一个或多个标签查询的结果的 union;即,它代表节点选择器术语所代表的选择器或选择器。
- 类型
-
object
- 必填
-
nodeSelectorTerms
-
属性 | 类型 | 描述 |
---|---|---|
|
| 必需。节点选择器术语列表。术语为 ORed。 |
|
| null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。 |
5.1.29. .spec.nodeAffinity.required.nodeSelectorTerms
- 描述
- 必需。节点选择器术语列表。术语为 ORed。
- 类型
-
数组
5.1.30. .spec.nodeAffinity.required.nodeSelectorTerms[]
- 描述
- null 或空节点选择器术语不匹配任何对象。它们的要求是 AND。TopologySelectorTerm 类型实现 NodeSelectorTerm 的子集。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 按节点标签划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
|
| 按节点字段划分的节点选择器要求列表。 |
|
| 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。 |
5.1.31. .spec.nodeAffinity.required.nodeSelectorTerms[].matchExpressions
- 描述
- 按节点标签划分的节点选择器要求列表。
- 类型
-
数组
5.1.32. .spec.nodeAffinity.required.nodeSelectorTerms[].matchExpressions[]
- 描述
- 节点选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
- 类型
-
object
- 必填
-
key
-
operator
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 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
-
属性 | 类型 | 描述 |
---|---|---|
|
| 选择器应用到的标签键。 |
|
| 代表键与一组值的关系。有效的运算符为 In、NotIn、Exists、DoesNotExist。gt 和 Lt.
可能枚举值: - |
|
| 字符串值数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。如果运算符是 Gt 或 Lt,则值数组必须具有单个元素,它将解释为整数。这个数组会在策略性合并补丁中被替换。 |
5.1.35. .spec.photonPersistentDisk
- 描述
- 代表 Photon Controller 持久磁盘资源。
- 类型
-
object
- 必填
-
pdID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| pdID 是标识 Photon Controller 持久磁盘的 ID |
5.1.36. .spec.portworxVolume
- 描述
- PortworxVolumeSource 代表 Portworx 卷资源。
- 类型
-
object
- 必填
-
volumeID
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 代表要挂载的文件系统类型必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs".如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| VolumeId 唯一标识 Portworx 卷 |
5.1.37. .spec.quobyte
- 描述
- 代表持续 pod 生命周期的 Quobyte 挂载。quobyte 卷不支持所有权管理或 SELinux 重新标记。
- 类型
-
object
- 必填
-
registry
-
卷
-
属性 | 类型 | 描述 |
---|---|---|
|
| 将卷访问映射到 Default 的组没有组 |
|
| 此处的 readonly 将强制使用只读权限挂载 Quobyte 卷。默认为false。 |
|
| registry 代表单个或多个 Quobyte Registry 服务,它指定为 host:port 对(多个条目用逗号分开),它充当卷的中央 registry |
|
| 在带有动态置备 Quobyte 卷的后端使用中拥有给定 Quobyte 卷的租户,由插件设置 |
|
| 用户,将卷访问权限映射到 Defaults 到 serivceaccount 用户 |
|
| volume 是按名称引用已创建 Quobyte 卷的字符串。 |
5.1.38. .spec.rbd
- 描述
- 代表持续 pod 生命周期的 Rados 块设备挂载。RBD 卷支持所有权管理和 SELinux 重新标记。
- 类型
-
object
- 必填
-
monitor
-
image
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是您要挂载的卷的文件系统类型。提示: 确保主机操作系统支持文件系统类型。示例:"ext4", "xfs", "ntfs"。如果未指定,则隐式推断为 "ext4"。更多信息: https://kubernetes.io/docs/concepts/storage/volumes#rbd |
|
| image 是 rados 镜像名称。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| keyring 是 RBDUser 的密钥环路径。默认为 /etc/ceph/keyring。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| monitor 是 Ceph 监视器的集合。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| pool 是 rados 池名称。默认为 rbd。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| 此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。默认为false。更多信息: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| 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 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.40. .spec.scaleIO
- 描述
- ScaleIOPersistentVolumeSource 代表持久的 ScaleIO 卷
- 类型
-
object
- 必填
-
gateway
-
system
-
secretRef
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".默认为 "xfs" |
|
| gateway 是 ScaleIO API 网关的主机地址。 |
|
| protectionDomain 是配置存储的 ScaleIO 保护域的名称。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret |
|
| sslEnabled 是启用/禁用与网关的 SSL 通信的标志,默认为 false |
|
| storageMode 指示卷的存储是否应 ThickProvisioned 或 ThinProvisioned。默认为 ThinProvisioned。 |
|
| StoragePool 是与保护域关联的 ScaleIO 存储池。 |
|
| system 是 ScaleIO 中配置的存储系统的名称。 |
|
| volumeName 是在与这个卷源关联的 ScaleIO 系统中创建的卷的名称。 |
5.1.41. .spec.scaleIO.secretRef
- 描述
- secretReference 代表 Secret 引用。它有足够的信息来检索任何命名空间中的 secret
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| name 在命名空间中是唯一的,用于引用 secret 资源。 |
|
| namespace 定义 secret 名称必须是唯一的的空间。 |
5.1.42. .spec.storageos
- 描述
- 代表 StorageOS 持久性卷资源。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| readonly 默认为 false (读/写)。此处的 readonly 将强制 VolumeMount 中的 ReadOnly 设置。 |
|
| ObjectReference 包含足够信息供您检查或修改引用的对象。 |
|
| volumeName 是 StorageOS 卷的人类可读名称。卷名称仅在命名空间中唯一。 |
|
| volumeNamespace 指定 StorageOS 中的卷范围。如果没有指定命名空间,则使用 Pod 的命名空间。这允许在 StorageOS 中镜像 Kubernetes 名称进行更紧密的集成。将 VolumeName 设置为任何名称,以覆盖默认的行为。如果没有在 StorageOS 中使用命名空间,则设置为 "default"。将创建在 StorageOS 中没有预先存在的命名空间。 |
5.1.43. .spec.storageos.secretRef
- 描述
- ObjectReference 包含足够信息供您检查或修改引用的对象。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| 引用的 API 版本。 |
|
| 如果引用的是对象的一部分而非整个对象,则该字符串应包含有效的 JSON/Go 字段访问声明,如 desiredState.manifest.containers[2]。例如,如果对象引用是一个 pod 中的容器,它应该还以下类似: "spec.containers{name}"(其中 "name" 是指触发事件的容器的名称),如果不使用容器名称,则应类似于 "spec.containers[2]"(使用此 pod 中索引值为 2 的容器)。选择这个语法的原因是,为了有一些指向对象部分的正确定义方法。 |
|
| 引用的类型。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
| 引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
|
| 引用的命名空间。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
|
| 指定构成这个引用的 resourceVersion(如果存在)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency |
|
| 引用的 UID。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids |
5.1.44. .spec.vsphereVolume
- 描述
- 代表 vSphere 卷资源。
- 类型
-
object
- 必填
-
volumePath
-
属性 | 类型 | 描述 |
---|---|---|
|
| fstype 是要挂载的文件系统类型。必须是主机操作系统支持的文件系统类型。Ex. "ext4", "xfs", "ntfs".如果未指定,则隐式推断为 "ext4"。 |
|
| storagePolicyID 是与 StoragePolicyName 关联的存储策略 Based Management (SPBM)配置集 ID。 |
|
| StoragePolicyName 是存储基于策略的管理(SPBM)配置集名称。 |
|
| volumePath 是标识 vSphere 卷 vmdk 的路径 |
5.1.45. .status
- 描述
- PersistentVolumeStatus 是持久性卷的当前状态。
- 类型
-
object
属性 | 类型 | 描述 |
---|---|---|
|
| Message 是人类可读的消息,指示卷处于此状态的详细信息。 |
|
| 阶段表示卷是否可用,绑定到声明,或由声明发布。更多信息: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase
可能枚举值: - 用于尚未绑定可用卷的 PersistentVolume 的 |
|
| reason 是一个简短的 CamelCase 字符串,用于描述任何故障,用于 CLI 中的机器解析和波动显示。 |