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.mdsource 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
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Verify storage class exists before PVC | CRITICAL | |
| 2 | Check PVC status before pod deployment | HIGH | |
| 3 | Review access modes for multi-pod access | MEDIUM | |
| 4 | Monitor PV reclaim policy | LOW | |
Quick Reference
| Task | Tool | Example |
|---|---|---|
| List PVCs | | |
| PVC details | | |
| Storage classes | | |
| List PVs | | |
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
- k8s-backup - Velero backup/restore
- k8s-operations - kubectl apply/patch