kubernetes-skills/claude/k8s-storage/SKILL.md
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
npx skillsauth add rohitg00/kubectl-mcp-server k8s-storageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage Kubernetes storage using kubectl-mcp-server's storage tools.
Use this skill when:
| 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 |
| 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() |
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")
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
""")
get_persistent_volumes()
describe_persistent_volume(name="pv-001")
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
""")
describe_pvc(name="my-pvc", namespace="default")
get_events(namespace="default")
describe_pod(name="my-pod", namespace="default")
development
Manage vCluster (virtual Kubernetes clusters) instances using vind. Use when creating, managing, or operating lightweight virtual clusters for development, testing, or multi-tenancy.
development
Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.
testing
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.
testing
Audit Kubernetes RBAC, enforce policies, and manage secrets. Use for security reviews, permission audits, policy enforcement with Kyverno/Gatekeeper, and secret management.