Agent skill
rook-ceph
Multi-node Rook Ceph deployment for Kubernetes production clusters. This skill should be used when deploying Ceph storage across multiple nodes with high availability. Covers Helm installation of Rook operator and Ceph cluster with production settings (3 mons, 2 mgrs, replication size 3, failure domains).
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/rook-ceph
SKILL.md
Rook Ceph Multi-Node
Production Rook Ceph deployment with high availability across multiple nodes.
Design
- 3+ nodes for high availability
- Dedicated disks on each node for Ceph OSDs
- mon.count: 3, mgr.count: 2
- Pool replication size: 3
- Failure domain: host (survives node failure)
Prerequisites
- Kubernetes 1.30+
- 3+ nodes with dedicated raw disks
- Each node labeled for Ceph:
kubectl label node <name> ceph-node=true
Quick Install
bash
# Add Rook Helm repo
helm repo add rook-release https://charts.rook.io/release
helm repo update
# Install operator
helm install --create-namespace --namespace rook-ceph \
rook-ceph rook-release/rook-ceph
# Wait for operator
kubectl -n rook-ceph wait --for=condition=ready pod -l app=rook-ceph-operator --timeout=300s
# Install cluster (use values from references/cluster-values.md)
helm install --namespace rook-ceph rook-ceph-cluster \
--set operatorNamespace=rook-ceph \
rook-release/rook-ceph-cluster -f cluster-values.yaml
Verify Installation
bash
# Check pods (expect 3 mons, 2 mgrs, OSDs per disk)
kubectl -n rook-ceph get pods -o wide
# Check cluster status
kubectl -n rook-ceph get cephcluster
# Ceph health (should be HEALTH_OK)
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph status
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph osd tree
Storage Classes
Created automatically by Helm. Verify with:
bash
kubectl get sc
Default classes: ceph-block (RBD), ceph-filesystem (CephFS)
Scaling
Add OSD (new disk)
Update cephClusterSpec.storage.nodes in values and upgrade Helm release.
Add Node
- Label node:
kubectl label node <name> ceph-node=true - Add to
storage.nodesin values - Helm upgrade
Troubleshooting
bash
# Cluster health
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph health detail
# OSD status
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph osd status
# Pool status
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph df
# PG status (placement groups)
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- ceph pg stat
References
references/cluster-values.md- Helm values for multi-node clusterreferences/storageclass.md- StorageClass definitionsreferences/maintenance.md- Maintenance and operationsscripts/install.sh- Automated install script
Didn't find tool you were looking for?