Cloud Native Storage
Cloud native storage provides persistent data services for containerized workloads running on orchestrators like Kubernetes. It covers volume provisioning, storage classes, CSI drivers, and distributed storage systems designed for dynamic, container-based environments.
itCloud native tools and technologies | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic - Cloud Native Storage
Cloud native storage connects persistent data to workloads that move, restart, and scale across a pool of machines. The central idea is separation. An application states the storage behavior it needs. A platform maps that request to a storage service. A driver performs infrastructure operations. The storage system still determines durability, latency, consistency, and failure behavior.
CNCF guidance splits access into two patterns. Presented storage appears inside a workload as a mounted file system or block device. Accessed storage is reached through an application API such as an object store or database client. Neither pattern is universally better. Mounting an object store does not automatically give full file-system behavior, and putting every stateful component behind a volume can hide useful service capabilities.
In Kubernetes, a PersistentVolumeClaim expresses demand. A StorageClass describes an offered class and names a provisioner. A PersistentVolume represents provisioned storage. CSI standardizes the integration boundary for create, delete, attach, mount, expand, and snapshot operations. It does not standardize storage-class meanings, POSIX behavior, or backend durability. You still evaluate the driver and storage service as one system.
Topology changes the decision. Some volumes are limited to a node, zone, or region. WaitForFirstConsumer delays binding until scheduling informs placement. Access modes describe attachment constraints, not application-level locking. Reclaim policy is not a backup plan. Snapshots help only when the driver and backend support them and when you test restore under failure.
Read the Intro for presented versus accessed storage and the control-plane split. Use the Cheatsheet when you need the object, CSI, and access-mode maps. Updates tracks Kubernetes releases where storage APIs and deprecations for these objects appear.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://glossary.cncf.io/cloud-native-storage/
Supports
- Definition of cloud native storage for containerized and stateful applications
- Cloud native storage as a response to scaling, management, and integration needs
- https://tag-security.cncf.io/community/resources/security-whitepaper/v2/cloud-native-security-whitepaper/
Supports
- Presented storage as volumes, block stores, file systems, and shared file systems
- Accessed storage as object stores, key-value stores, and databases reached through application APIs
- Storage-interface protection through access control, authentication, authorization, and encryption
- Persistent-volume access and namespace trust-boundary considerations
- https://github.com/container-storage-interface/spec/blob/master/spec.md
Supports
- CSI objective and terminology
- Dynamic provisioning, attachment, mounting, expansion, and snapshot operations
- Controller and node plugin architecture and services
- Capability discovery and retry behavior
- CSI non-goals including storage classes, plugin packaging, protocol authorization, and POSIX guarantees
- https://kubernetes.io/docs/concepts/storage/
Supports
- Kubernetes storage feature map for long-term and temporary Pod storage
- Official progression into volumes, persistent volumes, classes, snapshots, capacity, and health
- https://kubernetes.io/docs/concepts/storage/volumes/
Supports
- Volumes as storage exposed to containers in a Pod
- Persistent and ephemeral volume lifetimes
- File sharing between containers and persistence across container restarts
- https://kubernetes.io/docs/concepts/storage/persistent-volumes/
Supports
- PersistentVolume and PersistentVolumeClaim roles and scopes
- Static and dynamic provisioning, binding, use, release, and reclamation
- Access modes and their node or Pod semantics
- Delete and Retain reclaim policies
- Volume expansion behavior
- https://kubernetes.io/docs/concepts/storage/storage-classes/
Supports
- StorageClass provisioner, parameters, reclaim policy, mount options, binding mode, and expansion fields
- Default StorageClass behavior
- Immediate and WaitForFirstConsumer binding
- Topology-aware provisioning and scheduling implications
- https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/
Supports
- On-demand storage creation through StorageClasses
- Dynamic provisioning in response to PersistentVolumeClaims
- https://kubernetes.io/docs/concepts/storage/storage-capacity/
Supports
- Scheduler use of topology-specific CSI storage capacity information
- Capacity-aware placement for late-bound volumes
- https://kubernetes.io/docs/concepts/storage/volume-snapshots/
Supports
- VolumeSnapshot, VolumeSnapshotContent, and VolumeSnapshotClass roles
- CSI-based snapshot provisioning
- New PersistentVolumeClaims created from snapshots
- Snapshot readiness and deletion-policy behavior
- https://kubernetes-csi.github.io/docs/introduction.html
Supports
- Kubernetes implementation of CSI and its storage-feature documentation
- Progression from CSI architecture into drivers, sidecars, deployment, and features
