The Storage section provides visibility into persistent storage resources in your Kubernetes cluster.
Overview
Kubernetes storage resources manage persistent data:
- PersistentVolumes (PV) - Cluster-wide storage resources
- PersistentVolumeClaims (PVC) - Requests for storage by pods
- StorageClasses - Define storage provisioners and policies
- CSI Drivers - Container Storage Interface implementations
- CSI Nodes - Node-level CSI capabilities
- Volume Attachments - Track volume attachments to nodes
Accessing Storage Resources
Navigate to your cluster and click Kubernetes in the sidebar. Storage resources include:
| Resource | Path |
|---|
| PersistentVolumes | Kubernetes → PersistentVolumes |
| PersistentVolumeClaims | Kubernetes → PersistentVolumeClaims |
| StorageClasses | Kubernetes → StorageClasses |
| CSI Drivers | Kubernetes → CSI Drivers |
| CSI Nodes | Kubernetes → CSI Nodes |
PersistentVolumes (PV)
PersistentVolumes are cluster-level storage resources.
Viewing PersistentVolumes
| Column | Description |
|---|
| Name | Volume name |
| Capacity | Storage size |
| Access Modes | RWO, ROX, RWX |
| Reclaim Policy | Retain, Delete, Recycle |
| Status | Available, Bound, Released, Failed |
| Claim | Bound PVC (if any) |
| StorageClass | Associated storage class |
| Age | Time since creation |
Access Modes
| Mode | Description |
|---|
| RWO | ReadWriteOnce - single node read-write |
| ROX | ReadOnlyMany - multiple nodes read-only |
| RWX | ReadWriteMany - multiple nodes read-write |
Reclaim Policies
| Policy | Description |
|---|
| Retain | Keep data after PVC deletion |
| Delete | Delete underlying storage |
| Recycle | Basic scrub (rm -rf /data/*) |
PV Details
Click a PV to view:
- Capacity - Storage size
- Volume Mode - Filesystem or Block
- Access Modes - Supported access patterns
- Reclaim Policy - What happens when released
- Storage Class - Provisioner configuration
- Claim Reference - Bound PVC details
- Source - Underlying storage (CSI, NFS, etc.)
PersistentVolumeClaims (PVC)
PVCs are requests for storage by pods.
Viewing PersistentVolumeClaims
| Column | Description |
|---|
| Name | Claim name |
| Namespace | Kubernetes namespace |
| Status | Pending, Bound, Lost |
| Volume | Bound PV name |
| Capacity | Requested/actual storage |
| Access Modes | Requested access modes |
| StorageClass | Storage class used |
| Age | Time since creation |
PVC States
| Status | Description |
|---|
| Pending | Waiting for a matching PV |
| Bound | Successfully bound to a PV |
| Lost | PV was deleted or unavailable |
PVC Details
Click a PVC to view:
- Request - Requested storage size
- Capacity - Actual provisioned size
- Access Modes - Granted access modes
- Volume Name - Bound PersistentVolume
- Storage Class - Provisioner used
- Volume Mode - Filesystem or Block
- Pods - Pods using this claim
Troubleshooting Pending PVCs
- Check if a matching StorageClass exists
- Verify storage class is set to provision dynamically
- Check cloud provider quotas and limits
- Review PVC events for errors
StorageClasses
StorageClasses define how storage is provisioned.
Viewing StorageClasses
| Column | Description |
|---|
| Name | Class name |
| Provisioner | CSI driver or provisioner |
| Reclaim Policy | Default reclaim policy |
| Volume Binding Mode | Immediate or WaitForFirstConsumer |
| Default | Whether this is the default class |
Volume Binding Modes
| Mode | Description |
|---|
| Immediate | Provision volume immediately |
| WaitForFirstConsumer | Wait until pod is scheduled |
StorageClass Details
- Provisioner - CSI driver name
- Parameters - Provisioner-specific settings
- Reclaim Policy - Default for created PVs
- Allow Volume Expansion - Whether resize is supported
- Mount Options - Default mount options
Common Provisioners
| Provisioner | Provider |
|---|
kubernetes.io/aws-ebs | AWS EBS |
kubernetes.io/gce-pd | Google Persistent Disk |
kubernetes.io/azure-disk | Azure Disk |
ebs.csi.aws.com | AWS EBS CSI |
pd.csi.storage.gke.io | GKE CSI |
CSI Resources
CSI Drivers
CSI Drivers are storage plugins that implement the Container Storage Interface.
| Column | Description |
|---|
| Name | Driver name |
| Attach Required | Whether attach operation is needed |
| Pod Info On Mount | Whether pod info is passed on mount |
CSI Nodes
CSI Nodes show storage capabilities per node.
| Column | Description |
|---|
| Name | Node name |
| Drivers | Installed CSI drivers |
| Allocatable | Maximum volumes per driver |
Common Tasks
Finding Which Pod Uses a PVC
- Navigate to PersistentVolumeClaims
- Click on the PVC
- View the Pods section to see which pods have mounted this volume
Expanding a Volume
- Navigate to PersistentVolumeClaims
- Click on the PVC
- Check if the StorageClass allows expansion
- Edit the PVC to request more storage
- The filesystem will be expanded (may require pod restart)
Troubleshooting Storage Issues
-
PVC Pending:
- Check StorageClass exists and is valid
- Verify provisioner is running
- Check cloud provider quotas
- Review events for error messages
-
Mount Failures:
- Check node can access the storage
- Verify CSI driver is installed on the node
- Check for conflicting access modes
-
Data Loss:
- Check reclaim policy before deleting PVCs
- Use
Retain policy for important data
- Set up backup solutions
Tips
WaitForFirstConsumer: Use this binding mode to ensure volumes are provisioned in the same zone as your pod.
Storage Class Defaults: Set a default StorageClass so PVCs without explicit class still work.
Reclaim Policy: Change to Retain for production data to prevent accidental deletion.
Still have questions? Join our Slack community and we’ll help out.