@jkcfg/kubernetes
Version:
jk Kubernetes library
142 lines • 8.18 kB
JSON
{
"description": "PersistentVolumeSpec is the specification of a persistent volume.",
"properties": {
"accessModes": {
"description": "AccessModes contains all ways the volume can be mounted. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
}
},
"awsElasticBlockStore": {
"description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource"
},
"azureDisk": {
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource"
},
"azureFile": {
"description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.AzureFilePersistentVolumeSource"
},
"capacity": {
"description": "A description of the persistent volume's resources and capacity. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity",
"type": "object",
"additionalProperties": {
"$ref": "_definitions.json#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
},
"cephfs": {
"description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.CephFSPersistentVolumeSource"
},
"cinder": {
"description": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.CinderVolumeSource"
},
"claimRef": {
"description": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.ObjectReference"
},
"fc": {
"description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.FCVolumeSource"
},
"flexVolume": {
"description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin. This is an alpha feature and may change in future.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.FlexVolumeSource"
},
"flocker": {
"description": "Flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.FlockerVolumeSource"
},
"gcePersistentDisk": {
"description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.GCEPersistentDiskVolumeSource"
},
"glusterfs": {
"description": "Glusterfs represents a Glusterfs volume that is attached to a host and exposed to the pod. Provisioned by an admin. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.GlusterfsVolumeSource"
},
"hostPath": {
"description": "HostPath represents a directory on the host. Provisioned by a developer or tester. This is useful for single-node development and testing only! On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.HostPathVolumeSource"
},
"iscsi": {
"description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. Provisioned by an admin.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource"
},
"local": {
"description": "Local represents directly-attached storage with node affinity",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.LocalVolumeSource"
},
"mountOptions": {
"description": "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",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
}
},
"nfs": {
"description": "NFS represents an NFS mount on the host. Provisioned by an admin. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.NFSVolumeSource"
},
"persistentVolumeReclaimPolicy": {
"description": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming",
"type": [
"string",
"null"
]
},
"photonPersistentDisk": {
"description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource"
},
"portworxVolume": {
"description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.PortworxVolumeSource"
},
"quobyte": {
"description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.QuobyteVolumeSource"
},
"rbd": {
"description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.RBDVolumeSource"
},
"scaleIO": {
"description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.ScaleIOPersistentVolumeSource"
},
"storageClassName": {
"description": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.",
"type": [
"string",
"null"
]
},
"storageos": {
"description": "StorageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://releases.k8s.io/HEAD/examples/volumes/storageos/README.md",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.StorageOSPersistentVolumeSource"
},
"vsphereVolume": {
"description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"$ref": "_definitions.json#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
}
},
"$schema": "http://json-schema.org/schema#",
"type": "object"
}