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-cluster oci://ghcr.io/rook/rook-ceph-cluster
helm install rook-ceph-cluster rook-ceph-cluster/rook-ceph-cluster -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| rook-ceph-cluster | axeII/home-ops | 58 | v1.20.2 | 3 hours ago |
| rook-ceph-cluster | deedee-ops/home-ops | 33 | v1.20.2 | 2 days ago |
| rook-ceph-cluster | haraldkoch/kochhaus-home | 178 | v1.20.2 | 4 days ago |
| rook-ceph-cluster | billimek/k8s-gitops | 773 | v1.20.2 | 5 days ago |
| rook-ceph-cluster | buroa/k8s-gitops | 388 | v1.20.2 | 7 days ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
| boolean | |
| boolean | |
| boolean | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| string | |
cephClusterSpec.dashboard.prometheusEndpoint (85) http://prometheus-operated.observability.svc.cluster.local:9090 | string |
| number | |
| boolean | |
| string | |
cephClusterSpec.mgr.modules[].enabled (88) true | boolean |
cephClusterSpec.mgr.modules[].name (88) diskprediction_local | string |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
cephClusterSpec.storage.nodes[].name (44) k8s-0 | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| number | |
| boolean | |
| boolean | |
| boolean | |
| string | |
cephClusterSpec.network.addressRanges.cluster[] (24) - "169.254.255.0/24" | string |
cephClusterSpec.network.addressRanges.public[] (24) - "169.254.255.0/24" | string |
| string | |
| boolean | |
| string | |
| string, number | |
| string, 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 | |
| string | |
| string | |
| string | |
| boolean | |
cephClusterSpec.csi.readAffinity.crushLocationLabels[] (10) - kubernetes.io/hostname | string |
| boolean | |
| boolean | |
| string | |
| boolean | |
| string | |
| 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 | |
| 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 | |
| number | |
| boolean | |
| string | |
| string | |
cephClusterSpec.placement.mgr.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (10) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
cephClusterSpec.placement.mgr.tolerations[].key (3) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
cephClusterSpec.placement.mon.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (10) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
cephClusterSpec.placement.mon.tolerations[].key (4) node-role.kubernetes.io/control-plane | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
cephClusterSpec.dataDirHostPath (7) /var/lib/rook | string |
| boolean | |
| string | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| string | |
| boolean | |
| boolean | |
cephClusterSpec.priorityClassNames.mgr (3) system-cluster-critical | string |
cephClusterSpec.priorityClassNames.mon (3) system-node-critical | string |
cephClusterSpec.priorityClassNames.osd (3) system-node-critical | string |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| number | |
| boolean | |
| string | |
| boolean | |
| boolean | |
| number | |
cephBlockPools[].name (91) ceph-blockpool | string |
| string | |
| number | |
| boolean | |
| number | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
| boolean | |
cephBlockPools[].storageClass.name (91) ceph-block | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (91) rook-csi-rbd-provisioner | string |
| string | |
| string | |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/node-stage-secret-namespace" (91) {{ .Release.Namespace }} | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (91) rook-csi-rbd-provisioner | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-namespace" (91) {{ .Release.Namespace }} | string |
cephBlockPools[].storageClass.parameters.imageFeatures (91) layering,fast-diff,object-map,deep-flatten,exclusive-lock | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
cephBlockPoolsVolumeSnapshotClass.name (89) csi-ceph-blockpool | string |
| string | |
| boolean, string | |
| string | |
| boolean | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
route.dashboard.host.name (73) rook.${SECRET_DOMAIN} | string |
| string | |
route.dashboard.host.pathType (73) PathPrefix | string |
route.dashboard.parentRefs[].name (73) envoy-internal | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
route.dashboard.annotations."gethomepage.dev/pod-selector" (6) app.kubernetes.io/name=ceph-mgr | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
route.dashboard.rules[].backendRefs[].name (4) rook-ceph-mgr-dashboard | string |
| string | |
| number | |
| string | |
| boolean | |
| 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 | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
cephFileSystems[].name (52) ceph-filesystem | string |
| string | |
| number | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| number | |
| number | |
| number | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| number | |
| boolean | |
cephFileSystems[].spec.metadataServer.priorityClassName (48) system-cluster-critical | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| boolean | |
cephFileSystems[].storageClass.name (52) ceph-filesystem | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (52) rook-csi-cephfs-provisioner | string |
| string | |
| string | |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/node-stage-secret-namespace" (52) {{ .Release.Namespace }} | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (52) rook-csi-cephfs-provisioner | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-namespace" (52) {{ .Release.Namespace }} | string |
| string | |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/controller-publish-secret-name" (12) rook-csi-cephfs-provisioner | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
cephFileSystemVolumeSnapshotClass.name (47) csi-ceph-filesystem | string |
| string | |
cephObjectStores[].name (21) ceph-objectstore | string |
| number | |
| number | |
cephObjectStores[].spec.gateway.priorityClassName (18) system-cluster-critical | string |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| number | |
| string | |
| string | |
| number | |
| number | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| number | |
| string | |
| number | |
| boolean | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| number | |
| boolean | |
| string | |
| number | |
| string | |
| boolean | |
cephObjectStores[].storageClass.name (21) ceph-bucket | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
cephObjectStores[].route.parentRefs[].name (3) envoy-internal | string |
| string | |
| string | |
| string | |
| string | |
cephImage.tag (11) v20.2.2 | string |
cephImage.repository (9) quay.io/ceph/ceph | string |
| boolean | |
operatorNamespace (9) rook-ceph | string |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| boolean | |
| boolean |