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/home-operations/charts-mirror/rook-ceph-cluster
helm install rook-ceph-cluster rook-ceph-cluster/rook-ceph-cluster -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
rook-ceph-cluster | joryirving/home-ops | 184 | v1.18.4 | 5 hours ago |
rook-ceph-cluster | kashalls/home-cluster | 105 | v1.18.4 | a day ago |
rook-ceph-cluster | waifulabs/infrastructure | 172 | v1.18.4 | a day ago |
rook-ceph-cluster | coolguy1771/home-ops | 75 | v1.18.2 | a day ago |
rook-ceph-cluster | budimanjojo/home-cluster | 222 | v1.18.4 | a day ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
boolean | |
boolean | |
string | |
boolean | |
string | |
number | |
number | |
string | |
cephBlockPools[].name (56) ceph-blockpool | string |
string | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
cephBlockPools[].storageClass.name (56) ceph-block | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (56) rook-csi-rbd-provisioner | string |
string | |
string | |
string | |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/node-stage-secret-namespace" (56) {{ .Release.Namespace }} | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (56) rook-csi-rbd-provisioner | string |
cephBlockPools[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-namespace" (56) {{ .Release.Namespace }} | string |
cephBlockPools[].storageClass.parameters.imageFeatures (56) layering,fast-diff,object-map,deep-flatten,exclusive-lock | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
cephClusterSpec.dashboard.prometheusEndpoint (50) http://prometheus-operated.observability.svc.cluster.local:9090 | string |
number | |
boolean | |
string | |
cephClusterSpec.mgr.modules[].enabled (54) true | boolean |
cephClusterSpec.mgr.modules[].name (54) diskprediction_local | string |
number | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
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 | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
cephClusterSpec.network.addressRanges.cluster[] (10) - "169.254.255.0/24" | string |
string | |
string | |
boolean | |
string | |
string | |
number | |
string | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
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 | |
number | |
boolean | |
cephClusterSpec.placement.mon.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (5) node-role.kubernetes.io/control-plane | string |
string | |
string | |
string | |
string | |
cephClusterSpec.placement.mgr.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[].matchExpressions[].key (4) node-role.kubernetes.io/control-plane | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
cephClusterSpec.dataDirHostPath (4) /var/lib/rook | string |
boolean | |
string | |
boolean | |
string | |
boolean | |
string | |
boolean | |
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 | |
string | |
boolean | |
string | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
number | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
cephBlockPoolsVolumeSnapshotClass.name (55) csi-ceph-blockpool | string |
string | |
boolean | |
string | |
string | |
route.dashboard.host.name (34) rook.${SECRET_DOMAIN} | string |
string | |
route.dashboard.host.pathType (34) PathPrefix | string |
route.dashboard.parentRefs[].name (34) envoy-internal | string |
string | |
string | |
string | |
string | |
route.dashboard.rules[].backendRefs[].name (3) rook-ceph-mgr-dashboard | string |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
route.mgr.modules[].enabled (3) true | 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 | |
boolean | |
string | |
boolean | |
cephFileSystemVolumeSnapshotClass.name (24) csi-ceph-filesystem | string |
string | |
string | |
cephFileSystems[].name (25) ceph-filesystem | string |
string | |
number | |
string | |
string | |
number | |
number | |
number | |
string | |
string | |
number | |
boolean | |
cephFileSystems[].spec.metadataServer.priorityClassName (24) system-cluster-critical | string |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
cephFileSystems[].storageClass.name (25) ceph-filesystem | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/controller-expand-secret-name" (25) rook-csi-cephfs-provisioner | string |
string | |
string | |
string | |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/node-stage-secret-namespace" (25) {{ .Release.Namespace }} | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-name" (25) rook-csi-cephfs-provisioner | string |
cephFileSystems[].storageClass.parameters."csi.storage.k8s.io/provisioner-secret-namespace" (25) {{ .Release.Namespace }} | string |
string | |
string | |
string | |
string | |
string | |
cephObjectStores[].name (11) ceph-objectstore | string |
number | |
number | |
cephObjectStores[].spec.gateway.priorityClassName (8) system-cluster-critical | string |
string | |
string | |
string | |
boolean | |
string | |
string | |
number | |
number | |
string | |
boolean | |
string | |
string | |
string | |
number | |
string | |
number | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
number | |
string | |
boolean | |
cephObjectStores[].storageClass.name (11) ceph-bucket | string |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
ingress.dashboard.host.name (9) rook.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
operatorNamespace (6) rook-ceph | string |
string | |
boolean | |
string | |
boolean |