Slide 1

Slide 1 text

Ceph on bare metal at packet.net Rook - Kubernetes Operator for Ceph POC Lars Theiß [email protected]

Slide 2

Slide 2 text

! Ceph Überblick ! Rook Überblick ! Installation Rook Operator ! Installation Rook Cluster ! PVC erstellen ! Lasttest / Monitoring ! rook-tools Container Agenda

Slide 3

Slide 3 text

Was ist Ceph? • Ein Ceph Cluster realisiert ein verteiltes Dateisystem über mehrere Storage Server • File, Block, und Object Storage Services für Cloud- Native Environments • Überblick Ceph: • https://www.heise.de/ix/heft/In-Bestform-3948233.html • https://public.centerdevice.de/d72fea90-0d1f-4f7d-8cf2-404603a94032

Slide 4

Slide 4 text

Wo steht Ceph? Quelle: https://www.thomas-krenn.com/de/wiki/Ceph

Slide 5

Slide 5 text

Was ist rook? https://github.com/rook/rook/blob/master/Documentation/README.md: Rook 
 …
 Rook turns distributed storage software into a self- managing, self-scaling, and self-healing storage services. It does this by automating deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.

Slide 6

Slide 6 text

Was ist rook? https://github.com/rook/rook/blob/master/Documentation/README.md: Rook 
 …
 Rook turns distributed storage software into a self- managing, self-scaling, and self-healing storage services. It does this by automating deployment, bootstrapping, configuration, provisioning, scaling, upgrading, migration, disaster recovery, monitoring, and resource management.

Slide 7

Slide 7 text

Rook nimmt uns Arbeit ab

Slide 8

Slide 8 text

Quelle: https://raw.githubusercontent.com/rook/rook.github.io/master/docs/rook/v0.7/media/kubernetes.png Ein Rook Cluster realisiert ein verteiltes Dateisystem über mehrere Storage Nodes im K8S

Slide 9

Slide 9 text

• Rook Agent: stellt auf jedem Rook-Node „consume storage“ - Operationen für den Cluster bereit
 • Rook Ceph-Mon: „Gehirn des Clusters“, Metadaten-Verwaltung
 • Rook Ceph-OSD: Storage Unit Verwaltung
 
 Rook Ceph-Mgr: zusätzliche Monitoring-Interfaces • Rook-Api
 • Rook RGW: Objectstorage/S3

Slide 10

Slide 10 text

Testumgebung • Memory 256 GiB • 24x2 Xeon(R) CPU E5-2650 • 6x SSD 447.1 GiB

Slide 11

Slide 11 text

Operator

Slide 12

Slide 12 text

Rook-Operator: K8S API Erweiterung

Slide 13

Slide 13 text

Rook-Cluster # helm install . -n rook-cluster —namespace=rook
 apiVersion: rook.io/v1alpha1 kind: Cluster metadata: name: rook spec: versionTag: {{ .Values.versionTag }} dataDirHostPath: {{ .Values.dataDirHostPath }} storage: useAllNodes: true useAllDevices: true storeConfig: storeType: bluestore deviceFilter: "^sd."

Slide 14

Slide 14 text

up & running

Slide 15

Slide 15 text

und los…

Slide 16

Slide 16 text

Calculator URL: https://ceph.com/pgcalc/ Fertig??? • Pools werden nicht automatisch “ge-sized“ • Striping? • Replicas?

Slide 17

Slide 17 text

Grafana

Slide 18

Slide 18 text

Node crash

Slide 19

Slide 19 text

Fazit • Rook ist alpha
 https://github.com/kubernetes/kubernetes/issues/59478
 kube-apiserver panics on deployment of CRD #59478
 • Ceph ist stabil • Tuning notwendig (pools/pg) • durchaus guter Durchsatz, aber Latenz • rook-tools verwenden • Automatisiertes Aufsetzen, Cluster on Demand