k.rennerandClaude Opus 4.7 482f625ecf rook-ceph: pin daemons to highest priority + Guaranteed QoS
The Ceph storage layer must never be killed by kubelet eviction or
the Linux OOM killer. Pre-this commit, every Ceph daemon (mon, mgr,
osd, mds, rgw) ran with no priorityClassName and Burstable QoS —
which means they'd be picked early by both the eviction algorithm
under node pressure AND the kernel OOM killer.

Three changes:

cephcluster.yaml: spec.priorityClassNames.all = system-node-critical
  (PriorityValue 2000001000 — the highest built-in class). Applies
  to mon, mgr, osd, cleanup daemons. Memory requests bumped to equal
  limits for mon/osd/mgr so they land in Guaranteed QoS; the kernel
  then clamps oom_score_adj as low as possible.

storageclass.yaml (CephFilesystem MDS): same priority class. Losing
  the active MDS hangs every CephFS mount until standby promotes —
  worth pinning. memory bumped to 4Gi/4Gi for Guaranteed.

objectstore.yaml (CephObjectStore RGW): system-cluster-critical
  rather than -node-critical. Object storage outage is recoverable
  and blocks nothing in-cluster, so less aggressive priority is
  appropriate, but still above app pods. memory 512Mi/512Mi for
  Guaranteed.

CPU limits intentionally NOT added on any daemon — Ceph benefits
from CPU bursting during recovery/backfill, and the cluster runs at
~15% actual CPU so contention isn't real.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 08:09:49 +02:00
S
Description
No description provided
38 MiB
master
Latest
2026-01-31 15:05:31 +00:00
Languages
Go 35.3%
Shell 24.5%
Python 22.5%
Jinja 5.1%
HCL 4.8%
Other 7.7%