土法炼钢 · 系统与基础设施

Rook / CSI:K8s 上的 Ceph 编排内核

文章导航

分类入口
storagekubernetes
标签入口
#rook#csi#ceph#rbd#cephfs#kubernetes#pvc#volumesnapshot#operator

目录

站内 Ceph / RADOS 存储内核 已把一次写讲到 Messenger → PG → BlueStore,并以 终章 明确停在编排层;存储工程 覆盖云块选型。中间仍缺一层:PVC 如何经 CSI sidecar 变成 RBD image / CephFS subvolume,features 与节点内核如何错位,VolumeSnapshot 与目录级快照差在哪,Rook v1.20 为何强制 Ceph-CSI Operator,以及升级如何一次一个主版本。

本系列回答:K8s 存储编排里延迟与失败落在哪一层,何时 Rook+Ceph 的税不值得付。

写:

不写:cephadm 安装全书、RADOS/BlueStore 重讲、未实测延迟排行、Helm values 百科、云厂商托管 CSI 黑盒。后端语义外链 ceph/;本机用户态块见 SPDK

系列状态:01–16 已发布(2026-08-15)。 规划见 PLAN.md。无真实 Rook 集群则不粘贴伪造 kubectl / ceph -s 输出。

版本锚定:Rook v1.20.4;Ceph-CSI v3.17.0;K8s v1.31–v1.36;Ceph 后端支持 Squid v19.2.x / Tentacle v20.2.1+(机制叙述默认对齐站内 Squid;Tentacle 特性须显式标注)。

适合谁看

与 ceph/ 的分工

维度 ceph/ 本系列
定位 RADOS 内核机制 K8s 编排与 CSI 挂载
深度 PG、BlueStore、RBD 对象命名 CSI RPC、Operator CR、StorageClass、快照语义、升级闸门
I/O 归属 librados/krbd → PG → BlueStore PVC Bound 之后仍走同一数据面;本系列不重写

读法:只要「写卡在 PG 还是 BlueStore」→ ceph/;要「PVC Pending / MountFailed / 快照 not ready」→ 本系列 01 → 02 → 06 → 07 → 09 → 13。

一、这个领域最值得关注的 5 个问题

  1. 一次 PVC 从 Pending 到 Mounted,失败落在哪一层? → 第 1–6、8、13 篇。
  2. RBD features 与节点 krbd 能力不一致时为何「挂上但怪」? → 第 7、13 篇。
  3. VolumeSnapshot 在 RBD 与 CephFS 上各自保证什么? → 第 9 篇。
  4. Rook v1.20 为何强制 Ceph-CSI Operator;升级如何错位? → 第 5、11 篇。
  5. 何时选 Rook+Ceph,而非云 CSI / Longhorn / 裸 Ceph? → 第 14–16 篇。

二、篇目依赖关系与推荐阅读路径

flowchart TD
  overview["01 Overview"] --> csi["02 CSI Spec"]
  csi --> rook["03 Rook Operator"]
  rook --> cluster["04 CephCluster Life"]
  cluster --> csiop["05 CSI Operator"]
  csiop --> rbd["06 RBD Provision"]
  rbd --> mount["07 Mount Features"]
  csiop --> cephfs["08 CephFS CSI"]
  rbd --> snap["09 Snapshot Clone"]
  cephfs --> snap
  cluster --> obj["10 Object NFS"]
  csiop --> upgrade["11 Upgrade Gates"]
  mount --> obs["12 Observability"]
  snap --> obs
  obs --> trouble["13 Troubleshoot"]
  trouble --> vs["14 vs Alternatives"]
  vs --> secure["15 Tenancy Security"]
  secure --> select["16 Selection"]
  overview --> select
路径 篇目 适合
必读核心 1 → 2 → 5 → 6 → 7 → 9 → 13 快速建立坐标系
控制面 3 → 4 → 5 → 11 Operator / 升级
文件系统 8 → 9 → 15 CephFS / 快照 / 安全
对照选型 1 → 14 → 16 路径选型
完整通读 1 → … → 16 系统掌握

三、目录与每篇价值点

第一部分:CSI 模型与 Rook 控制面(01–05)

  1. 编排全景
    • 相对 ceph/storage 的缺口;坐标系与 16 篇路线。
  2. CSI 规范与 K8s 接线
    • Controller/Node 服务、sidecar、PVC→RPC。
  3. Rook Operator 与 CRD
    • CephCluster 等核心类型;reconcile 边界。
  4. CephCluster 生命周期
    • mon/mgr/osd 部署、设备发现、健康闸门。
  5. Ceph-CSI Operator(v1.20)
    • OperatorConfig/Driver;相对旧 ConfigMap 路径的断裂。

第二部分:卷路径、快照与升级(06–11)

  1. RBD 供给路径
    • StorageClass → CreateVolume → image;provisioner 命名。
  2. 挂载与 features
    • NodeStage/Publish;krbd 能力错位;read affinity。
  3. CephFS CSI
    • subvolume、RWX、与 MDS/caps 的编排侧税。
  4. 快照与克隆
    • VolumeSnapshot;RBD vs CephFS 语义;expand/static PV。
  5. 对象与周边
    • CephObjectStore/RGW 入口;NFS driver experimental。
  6. 升级闸门
    • Rook 与 Ceph 滚动升级;主版本纪律;CSI CRD/sidecar 错位。

第三部分:观测、排障与收束(12–16)

  1. 可观测
    • toolbox、CSI liveness/gRPC metrics、Exporter 口径。
  2. 排障坐标系
    • Pending、MountFailed、feature 静默失败、快照 not ready。
  3. 对照替代路径
    • 云 CSI、Longhorn、裸 Ceph/cephadm。
  4. 多租户与安全边界
    • Secret、加密、network fencing。
  5. 选型收束与开放问题
    • 排除树;回收 ceph/18 点名摩擦。

四、延伸阅读

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。

2026-08-15 · storage / kubernetes

【Rook / CSI】编排全景:五轴坐标系与 16 篇路线

相对 ceph/ RADOS 内核与 storage/ 云块选型,钉清 Rook/CSI 编排层缺口;定义 CSI RPC、sidecar、Operator/CRD、数据面归属、升级闸门五条坐标系,给出 16 篇阅读路线与 PVC Bound 之后 I/O 仍走 krbd→PG→BlueStore 的边界。

2026-08-15 · storage / kubernetes

【Rook / CSI】CSI 规范与 K8s 接线:Controller、Node 与 sidecar

拆解 CSI Identity/Controller/Node 服务与 CreateVolume、NodeStageVolume、NodePublishVolume;对照 K8s external-provisioner/attacher/resizer/snapshotter 与 node-driver-registrar;给出 PVC→PV→Pod 挂载调用链与 in-tree→CSI 谱系,并点名规范最小面与 CSI-Addons 争论。


By .