CephLXXXIX · Rook ConceptsRook Concepts
Why this course teaches Ceph directly
What you'll learn
- Identify what knowledge transfers between orchestrators
- Recognise what is orchestrator-specific
- Apply course material in a Rook environment
- Learn an orchestrator on top of Ceph knowledge
Prerequisites
None — start here.
Verified against Ceph Tentacle 20.2.x · Ceph Squid 19.2.x (supported previous) · cephadm matches the verified Ceph release · podman 4.x · csi-rbd and csi-cephfs current · RBD / CephFS / RGW current (matches Ceph release) · Linux kernel 5.15+ (5.10 minimum) · Ubuntu 24.04 LTS (Ceph host baseline) · Debian 12 (Bookworm) (Ceph host baseline) · Rocky Linux / RHEL / AlmaLinux 9.x (Ceph host baseline) · Proxmox VE 9.x (cross-course integration) · Kubernetes 1.31+ (cross-course integration) · 2026-08-18
Why this matters in production
Orchestrators change; Ceph does not. Knowing which is which determines how much of what you learn remains useful.
What transfers completely
| Knowledge | Transfers |
|---|---|
| CRUSH, placement groups, pools | entirely |
| Replication and erasure coding | entirely |
| Recovery, backfill, scrub | entirely |
| Capacity thresholds and their behaviour | entirely |
| Performance methodology and tuning | entirely |
| Failure diagnosis | entirely |
| Monitoring metrics and alerting | entirely |
| RBD, CephFS, RGW semantics | entirely |
| The Ceph CLI | entirely |
# identical in both
ceph -s
ceph osd tree
ceph pg dump
ceph df
rbd -p pool ls
Every diagnostic and every concept in this course applies unchanged.
What is orchestrator-specific
| Task | Differs |
|---|---|
| Adding a host | yes |
| Adding OSDs | yes |
| Upgrading | yes |
| Daemon placement | yes |
| Creating a pool | partially — the CLI works, but the CR is authoritative in Rook |
| Deploying monitoring | yes |
The orchestrator layer is roughly 10% of what operating Ceph involves,
and it is the part that changes between deployments.
Applying the material in Rook
# the toolbox pod is the entry point
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
From there, every command in this course works. The differences appear only where the orchestrator owns the configuration:
| Course topic | In Rook |
|---|---|
ceph osd pool create | create a CephBlockPool CR instead |
ceph orch host add | label a Kubernetes node |
ceph orch upgrade | change the image in the CephCluster CR |
| Everything else | identical |
Learning an orchestrator on top
With Ceph understood, learning Rook is:
the custom resource definitions
the operator's reconciliation behaviour
the mapping from CR fields to Ceph configuration
the Kubernetes-specific failure modes
Without Ceph understood, learning Rook is:
all of that, plus Ceph itself, without a foundation
The order matters: a Rook problem is almost always a Ceph problem that must be diagnosed with Ceph knowledge and then resolved through the orchestrator’s interface.
Quiz
Knowledge check · 4 questions
Q1. What proportion of operating Ceph is orchestrator-specific?
Q2. Diagnosing a Rook cluster problem requires primarily Kubernetes knowledge.
Q3. Apply this course's material in a Rook environment.
An operator has learned Ceph through this course using cephadm and now works with a Rook-managed cluster.
Q4. Which Ceph tasks differ between orchestrators?
Passing score: 75%. Answers are checked in this browser.
Production discipline
Diagnose Rook cluster problems with Ceph knowledge through the toolbox pod — degraded PGs and capacity thresholds are Ceph conditions regardless of how the daemons were placed. Remediate through whichever interface owns the setting, which is the only part that differs.
Cross-course references
- Kubernetes: understanding the workload beats understanding only the controller managing it
- Linux: knowing the service matters more than knowing the init system