×

Specification

Property Type Description

apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

PersistentVolumeSpec is the specification of a persistent volume.

status

object

PersistentVolumeStatus is the current status of a persistent volume.

.spec

Description

PersistentVolumeSpec is the specification of a persistent volume.

Type

object

Property Type Description

accessModes

array (string)

AccessModes contains all ways the volume can be mounted. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes

awsElasticBlockStore

object

Represents a Persistent Disk resource in AWS.

An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.

azureDisk

object

AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.

azureFile

object

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

capacity

object (Quantity)

A description of the persistent volume’s resources and capacity. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity

cephfs

object

Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.

cinder

object

Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.

claimRef

object

ObjectReference contains enough information to let you inspect or modify the referred object.

csi

object

Represents storage that is managed by an external CSI volume driver (Beta feature)

fc

object

Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

flexVolume

object

FlexPersistentVolumeSource represents a generic persistent volume resource that is provisioned/attached using an exec based plugin.

flocker

object

Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.

gcePersistentDisk

object

Represents a Persistent Disk resource in Google Compute Engine.

A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.

glusterfs

object

Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

hostPath

object

Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

iscsi

object

ISCSIPersistentVolumeSource represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

local

object

Local represents directly-attached storage with node affinity (Beta feature)

mountOptions

array (string)

A list of mount options, e.g. ["ro", "soft"]. Not validated - mount will simply fail if one is invalid. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options

nfs

object

Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.

nodeAffinity

object

VolumeNodeAffinity defines constraints that limit what nodes this volume can be accessed from.

persistentVolumeReclaimPolicy

string

What happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming

photonPersistentDisk

object

Represents a Photon Controller persistent disk resource.

portworxVolume

object

PortworxVolumeSource represents a Portworx volume resource.

quobyte

object

Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.

rbd

object

Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.

scaleIO

object

ScaleIOPersistentVolumeSource represents a persistent ScaleIO volume

storageClassName

string

Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.

storageos

object

Represents a StorageOS persistent volume resource.

volumeMode

string

volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec.

vsphereVolume

object

Represents a vSphere volume resource.

.spec.awsElasticBlockStore

Description

Represents a Persistent Disk resource in AWS.

An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.

Type

object

Required
  • volumeID

Property Type Description

fsType

string

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

partition

integer

The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).

readOnly

boolean

Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". If omitted, the default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

volumeID

string

Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore

.spec.azureDisk

Description

AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.

Type

object

Required
  • diskName

  • diskURI

Property Type Description

cachingMode

string

Host Caching mode: None, Read Only, Read Write.

diskName

string

The Name of the data disk in the blob storage

diskURI

string

The URI the data disk in the blob storage

fsType

string

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.

kind

string

Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared

readOnly

boolean

Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

.spec.azureFile

Description

AzureFile represents an Azure File Service mount on the host and bind mount to the pod.

Type

object

Required
  • secretName

  • shareName

Property Type Description

readOnly

boolean

Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

secretName

string

the name of secret that contains Azure Storage Account Name and Key

secretNamespace

string

the namespace of the secret that contains Azure Storage Account Name and Key default is the same as the Pod

shareName

string

Share Name

.spec.cephfs

Description

Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.

Type

object

Required
  • monitors

Property Type Description

monitors

array (string)

Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

path

string

Optional: Used as the mounted root, rather than the full Ceph tree, default is /

readOnly

boolean

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretFile

string

Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

secretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

user

string

Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it

.spec.cephfs.secretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.cinder

Description

Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.

Type

object

Required
  • volumeID

Property Type Description

fsType

string

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md

readOnly

boolean

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md

secretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

volumeID

string

volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md

.spec.cinder.secretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.claimRef

Description

ObjectReference contains enough information to let you inspect or modify the referred object.

Type

object

Property Type Description

apiVersion

string

API version of the referent.

fieldPath

string

If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

kind

string

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

namespace

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

.spec.csi

Description

Represents storage that is managed by an external CSI volume driver (Beta feature)

Type

object

Required
  • driver

  • volumeHandle

Property Type Description

controllerExpandSecretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

controllerPublishSecretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

driver

string

Driver is the name of the driver to use for this volume. Required.

fsType

string

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs".

nodePublishSecretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

nodeStageSecretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

readOnly

boolean

Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).

volumeAttributes

object (string)

Attributes of the volume to publish.

volumeHandle

string

VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.

.spec.csi.controllerExpandSecretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.csi.controllerPublishSecretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.csi.nodePublishSecretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.csi.nodeStageSecretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.fc

Description

Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.

Type

object

Property Type Description

fsType

string

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.

lun

integer

Optional: FC target lun number

readOnly

boolean

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

targetWWNs

array (string)

Optional: FC target worldwide names (WWNs)

wwids

array (string)

Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.

.spec.flexVolume

Description

FlexPersistentVolumeSource represents a generic persistent volume resource that is provisioned/attached using an exec based plugin.

Type

object

Required
  • driver

Property Type Description

driver

string

Driver is the name of the driver to use for this volume.

fsType

string

Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.

options

object (string)

Optional: Extra command options if any.

readOnly

boolean

Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.

secretRef

object

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

.spec.flexVolume.secretRef

Description

SecretReference represents a Secret Reference. It has enough information to retrieve secret in any namespace

Type

object

Property Type Description

name

string

Name is unique within a namespace to reference a secret resource.

namespace

string

Namespace defines the space within which the secret name must be unique.

.spec.flocker

Description

Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.

Type

object

Property Type Description

datasetName

string

Name of the dataset stored as metadata → name on the dataset for Flocker should be considered as deprecated

datasetUUID

string

UUID of the dataset. This is unique identifier of a Flocker dataset

.spec.gcePersistentDisk

Description

Represents a Persistent Disk resource in Google Compute Engine.

A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.

Type

object

Required
  • pdName

Property Type Description

fsType

string

Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

partition

integer

The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

pdName

string

Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

readOnly

boolean

ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk

.spec.glusterfs

Description

Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.

Type

object

Required
  • endpoints

  • path

Property Type Description

endpoints

string

EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

endpointsNamespace

string

EndpointsNamespace is the namespace that contains Glusterfs endpoint. If this field is empty, the EndpointNamespace defaults to the same namespace as the bound PVC. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

path

string

Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

readOnly

boolean

ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod

.spec.hostPath

Description

Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.

Type

object

Required
  • path

Property Type Description

path

string

Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

type

string

Type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath

.spec.iscsi

Description

ISCSIPersistentVolumeSource represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.

Type

object

Required
  • targetPortal

  • iqn

  • lun

Property Type Description

chapAuthDiscovery

boolean

whether support iSCSI Discovery CHAP authentication

chapAuthSession

boolean

whether support iSCSI Session CHAP authentication

fsType