Rook: Enabling Read Affinity for RBD Workloads
summary
Rook implements read affinity for RBD by passing node topology labels as CRUSH locations through the CSI driver to krbd mount options so clients read from the nearest replica instead of always the primary. With replication factor 3 this reduces cross-AZ traffic and cloud egress, shows measurable latency and IOPS improvement in preliminary tests, and increases OSD CPU/memory usage as a trade-off. Enable by setting csi.enableReadAffinity=true in the Rook ConfigMap; external clusters need distinct topology labels.
AI-written summary · about
chapters (12)
- 0:00Introduction to read affinity
- 1:05CRUSH algorithm overview
- 3:15OSD topology and CRUSH location
- 5:25Client reads and latency issues
- 6:53Solution with CSI read affinity
- 7:56Benefits of read affinity
- 8:39External and metro DR clusters
- 9:47Demerits and trade-offs
- 10:29Enabling for Rook clusters
- 11:11External cluster setup
- 12:37Testing and contention impact
- 13:41Q&A session
related talks
19mUsing Rook in Production on National Research Platform
41mRook - Running Ceph Using Kubernetes
31mRook: Intro and Deep Dive With Ceph
31mRook: Intro and Deep Dive With Ceph Storage
55mIntroducing Rook
29mSimplifying Storage in Kubernetes with Rook-Ceph
26mRook: Intro And Deep Dive With Ceph Storage
30mRook: Intro and Ceph Deep Dive
