Skip to main content
RunBook Academy

CephLXXXIX · Rook ConceptsRook Concepts

Why this course teaches Ceph directly

Intermediate⏱ ~16 mincephkubectl

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

Not yet marked complete on this device.

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

KnowledgeTransfers
CRUSH, placement groups, poolsentirely
Replication and erasure codingentirely
Recovery, backfill, scrubentirely
Capacity thresholds and their behaviourentirely
Performance methodology and tuningentirely
Failure diagnosisentirely
Monitoring metrics and alertingentirely
RBD, CephFS, RGW semanticsentirely
The Ceph CLIentirely
# 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

TaskDiffers
Adding a hostyes
Adding OSDsyes
Upgradingyes
Daemon placementyes
Creating a poolpartially — the CLI works, but the CR is authoritative in Rook
Deploying monitoringyes
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 topicIn Rook
ceph osd pool createcreate a CephBlockPool CR instead
ceph orch host addlabel a Kubernetes node
ceph orch upgradechange the image in the CephCluster CR
Everything elseidentical

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

  1. Q1. What proportion of operating Ceph is orchestrator-specific?

  2. Q2. Diagnosing a Rook cluster problem requires primarily Kubernetes knowledge.

  3. 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.

  4. 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