Rook Ceph Cluster is a Kubernetes operator for deploying and managing Ceph storage clusters. Ceph is a distributed storage system that provides block, object, and file storage for your home lab, and Rook makes it easy to deploy and manage Ceph storage clusters on top of Kubernetes. This allows you to store and access your data from anywhere in the cluster, such pods are not stuck to a single node, like with local-path storage.
With Ceph Block devices you can use Ceph as a persistent storage solution for your Kubernetes cluster. You can create a storage class that will automatically provision a Ceph block device for your pods.
For Rook Ceph cluster, you need to have deployed the Rook Ceph Operator first.
Install with:
helm repo add rook-ceph https://charts.rook.io/release/
helm install rook-ceph-cluster rook-ceph/rook-ceph-cluster -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| rook-ceph-cluster | ahinko/home-ops | 135 | v1.15.1 | a day ago |
| rook-ceph-cluster | szinn/k8s-homelab | 176 | v1.15.1 | 3 days ago |
| rook-ceph-cluster | szinn/k8s-homelab | 176 | v1.15.1 | 3 days ago |
| rook-ceph-cluster | Diaoul/home-ops | 60 | v1.15.1 | 3 days ago |
| rook-ceph-cluster | joryirving/home-ops | 121 | v1.15.1 | 5 days ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
| boolean, string | |
| boolean, string | |
| string | |
| number | |
| number | |
| string | |
| boolean | |
| string | |
| boolean | |
cephClusterSpec.dashboard.prometheusEndpoint (35) http://prometheus-operated.observability.svc.cluster.local:9090 | string |
| number | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
cephClusterSpec.storage.nodes[].devices[].name (56) /dev/nvme0n1 | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| number | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
cephClusterSpec.mgr.modules[].name (42) pg_autoscaler | string |
| number | |
| boolean | |
cephClusterSpec.placement.mon.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (26) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
cephClusterSpec.placement.mon.tolerations[].key (6) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
| number | |
| number | |
cephClusterSpec.placement.mgr.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (25) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
cephClusterSpec.placement.mgr.tolerations[].key (4) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
| string | |
cephClusterSpec.placement.all.tolerations[].key (3) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| boolean | |
cephClusterSpec.dataDirHostPath (8) /var/lib/rook | string |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| number | |
| number | |
| number | |
| boolean | |
| boolean | |
| string | |
| boolean | |
| string | |
| number | |
| string | |
| boolean | |
cephClusterSpec.priorityClassNames.mgr (4) system-cluster-critical | string |
cephClusterSpec.priorityClassNames.mon (4) system-node-critical | string |
cephClusterSpec.priorityClassNames.osd (4) system-node-critical | string |
| boolean | |
| string | |
| string | |
cephClusterSpec.disruptionManagement.machineDisruptionBudgetNamespace (3) openshift-machine-api | string |
| boolean | |
| boolean | |
| number | |
| number | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| string | |
| number | |
| string | |
ingress.dashboard.host.name (81) rook.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
ingress.dashboard.tls[].hosts[] (57) - rook.${SECRET_DOMAIN} | string |
| string | |
ingress.dashboard.annotations."hajimari.io/icon" (25) mdi:chess-rook | string |
| string | |
ingress.dashboard.annotations."external-dns.alpha.kubernetes.io/target" (17) internal.${SECRET_DOMAIN} | string |
ingress.dashboard.annotations."cert-manager.io/cluster-issuer" (14) letsencrypt-production | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
ingress.dashboard.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (4) 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
| string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
cephBlockPools[].name (79) ceph-blockpool | string |
| string | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
cephBlockPools[].storageClass.name (79) ceph-block | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (79) rook-csi-rbd-provisioner | string |
| string | |
| string | |
| string | |
| string | |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (79) rook-csi-rbd-provisioner | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
configOverride (73) [global]
bdev_enable_discard = true
bdev_async_discard = true
osd_class_update_on_start = false
| string |
cephFileSystems[].name (68) ceph-filesystem | string |
| string | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
cephFileSystems[].spec.metadataServer.priorityClassName (37) system-cluster-critical | string |
| string | |
| string | |
| number | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
cephFileSystems[].storageClass.name (68) ceph-filesystem | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (68) rook-csi-cephfs-provisioner | string |
| string | |
| string | |
| string | |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (68) rook-csi-cephfs-provisioner | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
cephBlockPoolsVolumeSnapshotClass.name (54) csi-ceph-blockpool | string |
| string | |
| boolean | |
| string | |
| string | |
| string | |
cephObjectStores[].name (56) ceph-objectstore | string |
| number | |
| number | |
| string | |
| string | |
| string | |
| string | |
| number | |
| number | |
| string | |
| string | |
| string | |
| string | |
cephObjectStores[].spec.gateway.priorityClassName (27) system-cluster-critical | string |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| string | |
| string | |
| number | |
| string | |
| boolean | |
| string | |
| string | |
| boolean | |
cephObjectStores[].storageClass.name (56) ceph-bucket | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
cephObjectStores[].ingress.host.name (20) rgw.${SECRET_DOMAIN} | string |
| string | |
| string | |
| string | |
| string | |
cephObjectStores[].ingress.annotations."external-dns.alpha.kubernetes.io/target" (9) internal.${SECRET_DOMAIN} | string |
| string | |
| boolean | |
| string | |
| boolean | |
cephFileSystemVolumeSnapshotClass.name (45) csi-ceph-filesystem | string |
| string | |
| string | |
operatorNamespace (12) rook-ceph | string |
pspEnable (3) false | boolean |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| number | |
| string | |
| number | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean |