Volume
Directory mounted into a Pod's containers, ephemeral with the Pod unless backed by a persistent claim.
- Provider
- k8s
- Category
- Data
- Official docs
- https://kubernetes.io/docs/concepts/storage/volumes/
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| emptyDirMedium | enum | node-disk | memory | no | node-disk | inherited |
| encryptionAtRest | boolean | — | no | — | inherited |
| iops | integer | — | no | — | inherited |
| lifetime | enum | ephemeral | persistent | no | ephemeral | inherited |
| managed | boolean | — | no | false | ▸ false |
| mediaType | enum | ssd | hdd | no | — | inherited |
| redundancy | enum | local | zonal | regional | no | — | inherited |
| sizeGib | integer | — | no | — | inherited |
| snapshots | boolean | — | no | false | inherited |
| survivesContainerRestart | boolean | — | no | true | inherited |
| survivesPodDeletion | boolean | — | no | false | inherited |
| volumeSource | enum | empty-dir | host-path | config-map | secret | downward-api | projected | persistent-volume-claim | nfs | iscsi | local | image | csi | no | — | inherited |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
No rule reads this kind yet. That is a gap, not a guarantee.
nodes:
- { id: "volume", component: "k8s-volume" }Elastic Block Storagealibaba-ebsAmazon EBSaws-ebsEC2 instance storeaws-instance-storeAzure Container Storageazure-container-storageAzure Elastic SANazure-elastic-sanAzure Disk Storageazure-managed-diskGeneric block storage volumeblock-storageBlock volumeblock-volumeCeph RBDceph-rbdLonghornlonghornOpenEBSopenebsOpenZFSopenzfsPortworxportworxVolumes Block Storagedigitalocean-volumesHyperdiskgoogle-hyperdiskLocal SSDgoogle-local-ssdPersistent Diskgoogle-persistent-diskIBM Cloud Block Storage for VPCibm-block-storageBlock Storage for Classicibm-block-storage-classicIBM Storage Ceph as a Serviceibm-storage-cephPersistentVolumek8s-persistent-volumePersistentVolumeClaimk8s-persistent-volume-claimStorageClassk8s-storage-classOCI Block Volumeoci-block-volumeOCI Boot Volumeoci-boot-volumeOCI Local NVMe Storageoci-local-nvmeOpenStack Cinderopenstack-cinderBlock Storage Unit (BSU)outscale-bsu
# yaml-language-server: $schema=../../schema/component.schema.json # Kubernetes Volume: a directory mounted into a Pod's containers. Per "Volumes" an ephemeral volume # lives exactly as long as its Pod and is destroyed with it, while a volume backed by a # PersistentVolumeClaim outlives the Pod; data in any volume survives a container crash or restart. # An emptyDir is stored on whatever medium backs the node unless emptyDir.medium is set to Memory. schemaVersion: "1" type: "component" id: "k8s-volume" kind: "block-storage" provider: "k8s" docs: "https://kubernetes.io/docs/concepts/storage/volumes/" defaults: managed: false properties: lifetime: type: "enum" values: ["ephemeral", "persistent"] default: "ephemeral" volumeSource: type: "enum" values: ["empty-dir", "host-path", "config-map", "secret", "downward-api", "projected", "persistent-volume-claim", "nfs", "iscsi", "local", "image", "csi"] emptyDirMedium: type: "enum" values: ["node-disk", "memory"] default: "node-disk" survivesContainerRestart: type: "boolean" default: true survivesPodDeletion: type: "boolean" default: false