rohitg00 / k8s-storage
Install for your project team
Run this command in your project directory to install the skill for your entire team:
mkdir -p .claude/skills/k8s-storage && curl -L -o skill.zip "https://fastmcp.me/Skills/Download/3552" && unzip -o skill.zip -d .claude/skills/k8s-storage && rm skill.zip
Project Skills
This skill will be saved in .claude/skills/k8s-storage/ and checked into git. All team members will have access to it automatically.
Important: Please verify the skill by reviewing its instructions before using it.
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
0 views
0 installs
Skill Content
---
name: k8s-storage
description: Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
license: Apache-2.0
metadata:
author: rohitg00
version: "1.0.0"
tools: 3
category: storage
---
# Kubernetes Storage
Manage Kubernetes storage using kubectl-mcp-server's storage tools.
## When to Apply
Use this skill when:
- User mentions: "PVC", "PV", "storage class", "volume", "disk", "storage"
- Operations: provisioning storage, mounting volumes, expanding storage
- Keywords: "persist", "data", "backup storage", "volume claim"
## Priority Rules
| Priority | Rule | Impact | Tools |
|----------|------|--------|-------|
| 1 | Verify storage class exists before PVC | CRITICAL | `get_storage_classes` |
| 2 | Check PVC status before pod deployment | HIGH | `describe_pvc` |
| 3 | Review access modes for multi-pod access | MEDIUM | `get_pvcs` |
| 4 | Monitor PV reclaim policy | LOW | `get_persistent_volumes` |
## Quick Reference
| Task | Tool | Example |
|------|------|---------|
| List PVCs | `get_pvcs` | `get_pvcs(namespace)` |
| PVC details | `describe_pvc` | `describe_pvc(name, namespace)` |
| Storage classes | `get_storage_classes` | `get_storage_classes()` |
| List PVs | `get_persistent_volumes` | `get_persistent_volumes()` |
## Persistent Volume Claims (PVCs)
```python
get_pvcs(namespace="default")
describe_pvc(name="my-pvc", namespace="default")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: standard
""")
kubectl_delete(resource_type="pvc", name="my-pvc", namespace="default")
```
## Storage Classes
```python
get_storage_classes()
kubectl_apply(manifest="""
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
""")
```
## Persistent Volumes
```python
get_persistent_volumes()
describe_persistent_volume(name="pv-001")
```
## Volume Snapshots
```python
kubectl_apply(manifest="""
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: my-snapshot
namespace: default
spec:
volumeSnapshotClassName: csi-snapclass
source:
persistentVolumeClaimName: my-pvc
""")
kubectl_apply(manifest="""
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: restored-pvc
spec:
dataSource:
name: my-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
""")
```
## Troubleshooting Storage
```python
describe_pvc(name="my-pvc", namespace="default")
get_events(namespace="default")
describe_pod(name="my-pod", namespace="default")
```
## Related Skills
- [k8s-backup](../k8s-backup/SKILL.md) - Velero backup/restore
- [k8s-operations](../k8s-operations/SKILL.md) - kubectl apply/patch