Skillshub k8s-storage

Kubernetes Storage

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/rohitg00/kubectl-mcp-server/k8s-storage" ~/.claude/skills/comeonoliver-skillshub-k8s-storage && rm -rf "$T"
manifest: skills/rohitg00/kubectl-mcp-server/k8s-storage/SKILL.md
source content

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

PriorityRuleImpactTools
1Verify storage class exists before PVCCRITICAL
get_storage_classes
2Check PVC status before pod deploymentHIGH
describe_pvc
3Review access modes for multi-pod accessMEDIUM
get_pvcs
4Monitor PV reclaim policyLOW
get_persistent_volumes

Quick Reference

TaskToolExample
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)

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

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

get_persistent_volumes()

describe_persistent_volume(name="pv-001")

Volume Snapshots

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

describe_pvc(name="my-pvc", namespace="default")

get_events(namespace="default")
describe_pod(name="my-pod", namespace="default")

Related Skills