daemons ◦ Manage cluster’s state • MGR daemons ◦ Provide additional features 8 Ceph Cluster Mons Mons MON Mons MGR Storage (e.g.RBD) OSD OSD OSD disk disk disk Storage (e.g.RBD) Network storages (e.g. RBD) Storage pool … …
daemons ◦ Manage cluster’s state • MGR daemons ◦ Provide additional features 9 Ceph Cluster Mons Mons MON Mons MGR Storage (e.g.RBD) OSD OSD OSD disk disk disk Storage (e.g.RBD) Network storages (e.g. RBD) Storage pool … …
daemons ◦ Manage cluster’s state • MGR daemons ◦ Provide additional features 10 Ceph Cluster Mons Mons MON Mons MGR Storage (e.g.RBD) OSD OSD OSD disk disk disk Storage (e.g.RBD) Network storages (e.g. RBD) Storage pool … …
daemons ◦ Manage cluster’s state • MGR daemons ◦ Provide additional features 11 Ceph Cluster Mons Mons MON Mons MGR Storage (e.g.RBD) OSD OSD OSD disk disk disk Storage (e.g.RBD) Network storages (e.g. RBD) Storage pool … …
◦ Provision Pod for each Ceph daemons • Ceph CSI ◦ A CSI Driver for Ceph ◦ Provisions storage from Ceph 13 Rook/Ceph Cluster Mons Mons MON Pod Mons MGR Pods Storage (e.g.RBD) OSD Pod OSD Pod OSD Pod disk disk disk Storage (e.g.RBD) Network storages (e.g. RBD) Storage pool … … MGR Pod Ceph CSI manage Rook operator manage
ObjectBucketClaim(OBC) CR ◦ Similar to PV and PVC for block and filesystem storage 29 PV PVC Block or filesystem storage RGW bucket OB OBC Create User User Create
not the K8s official way • Rook supports Container Object Storage Interface (COSI) ◦ The K8s official way ◦ Similar to CSI for block and filesystem storage • COSI will replace OB and OBC in the future 37
CephFS mirroring CephFilesystemMirror RGW multisite CephObjectRealm Rook/Ceph cluster K8s cluster in region A K8s cluster in region B Rook/Ceph cluster kind: CephRBDMirror … kind: CephRBDMirror … RBD pool RBD pool Replicate
failure domain is allowed to be down at once • e.g: when the failure domani is “node” Managed PDB Configuration 41 node0 node1 Rook Admin apiVersion: policy/v1 kind: PodDisruptionBudget spec: maxUnavailable: 1 selector: matchLabels: app: rook-ceph-osd … 1. Create OSD0 Pod OSD1 Pod 2. Drain 3. Drain (blocked)
running arbitrary Ceph commands • Kubectl rook-ceph krew plugin ◦ Running handy Ceph operations 42 Admin All Ceph features Features covered by Rook By Rook’s CRs By toolbox pod & kubect rook-ceph
contributors to the GitHub project ◦ e.g. Clyso, Cybozu, IBM/Red Hat, and Upbound • Monthly community meeting • CNCF Graduated project 47 GitHub https://github.com/rook/rook Slack https://slack.rook.io