Prerequisites
- Rancher 2.8+ managing an RKE2 1.28+ cluster (or a standalone RKE2/K3s cluster).
-
A kubeconfig for the downstream cluster: download it from the Rancher UI (Cluster → Download KubeConfig) or use
rancher kubectl. Use the authorized cluster endpoint (direct) kubeconfig for the installer. The Rancher API proxy enforces a request body size limit and rejects the two largest KubeBlocks CRDs withError from server (InternalError): ... "http: request body too large". If only the proxy kubeconfig is available, apply the KubeBlocks CRDs once from a machine with direct cluster access, then run the installer with--skip-crds: -
kubectl,helm, andbase64on the machine that runs the installer, with access to runkubectlcommands in the cluster’s context. - A user with cluster-admin on the downstream cluster (the installer creates namespaces, CRDs, ClusterRoles, and webhooks). A Rancher Cluster Owner role maps to this.
- At least 3 worker nodes with 4 CPU and 16 GB of memory each.
-
Outbound access from the cluster to pull images:
registry.falkordb.cloud(Enterprise images, credentials required),docker.io,apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com,registry.k8s.io, andghcr.io— orregistry.falkordb.cloudalone, since every image is also mirrored there (see Private registries).
How Rancher/RKE2 differs
1. Set up snapshot-capable storage (Longhorn)
FalkorDB Enterprise uses persistent volumes for databases and the Admin Server, and CSI volume snapshots for backups. On RKE2/K3s the simplest snapshot-capable option is Longhorn, installable from the Rancher Apps catalog (Cluster → Apps → Charts → Longhorn) or with Helm:longhorn StorageClass exists and is the default:
(default):
--skip-snapshot-controller.
Alternatives:
- Cloud-provisioned RKE2 nodes can use the cloud CSI driver (EBS, Azure Disk, GCE PD) instead of Longhorn; the installer auto-detects these.
- On K3s with only
local-path, the installer detects the non-CSI provisioner and enables a bundled hostpath CSI driver so snapshots still work. This is fine for development, not for production.
2. Check Ingress
RKE2’s bundled ingress-nginx serves on ports 80/443 of every node (DaemonSet with host ports). Verify the default class:nginx (RKE2) or traefik (K3s) marked as default. The installer uses it automatically. Point DNS for your Admin UI hostname at one or more node IPs, or at the external load balancer that fronts the nodes.
If you front RKE2 nodes with an external LB (recommended for production), terminate TLS at the Ingress with a certificate secret as shown below.
3. Install FalkorDB Enterprise
Quick install (development)
With the downstream cluster context active:kb-system, and prints the Admin UI URL. See Quickstart for defaults and validation.
Private registry credentials
The Enterprise images are pulled from a private registry. Pass all three flags together so the installer creates the pull Secret and wires it into the chart:--image-pull-secret without the username/password, the installer assumes a Secret with that name already exists in the release namespace and does not create one — pods then fail with ImagePullBackOff. Either provide the credentials flags or create the Secret yourself before installing:
Production install
Prepare a values file with TLS ingress, a stable JWT secret, and a bootstrap admin user as described in Production install. A ready-to-edit example is available at helm/falkordb-enterprise/examples/values-rancher.yaml. Example Rancher/RKE2-specific values:4. Rancher project placement and network isolation
After install, move the namespaces into a Rancher Project so they inherit project-level monitoring, alerts, and member access (Cluster → Projects/Namespaces → movefalkordb-system, kb-system, and any database namespaces).
If Project Network Isolation is enabled, Rancher generates NetworkPolicies that block cross-project traffic. Keep the FalkorDB namespaces in the same project, or add policies allowing:
- ingress-nginx (or Traefik) →
falkordb-system(Admin UI port 80/8080, Admin Server port 3000) falkordb-system→kb-systemand database namespaces (Admin Server manages KubeBlocks resources and connects to databases)
5. Validate the install
Pod security admission (CIS/hardened clusters)
RKE2 installed withprofile: cis enforces the restricted PSA level by default. The chart’s workloads (Admin Server, Admin UI, hook jobs) already run as non-root with seccompProfile: RuntimeDefault, dropped capabilities, and no privilege escalation, so they pass restricted. If KubeBlocks or database pods are rejected by PSA in kb-system or a database namespace, label those namespaces to relax enforcement:
Rancher-in-Docker (development only)
When testing against the embeddedlocal cluster of a Rancher instance that itself runs in Docker (docker run rancher/rancher), two extra quirks apply — neither affects real RKE2/K3s hosts:
-
The embedded K3s ships with no StorageClass, IngressClass, or ServiceLB. Install a StorageClass (for example local-path-provisioner) and mark it default before running the installer; the installer then enables its bundled hostpath CSI driver for snapshots.
LoadBalancerservices stay<pending>— access the Admin UI withkubectl port-forward. -
The bundled hostpath CSI driver fails with
path "/var/lib/kubelet/pods" is mounted on "/var/lib/kubelet" but it is not a shared mountbecause the container has a shadowed slave mount on/var/lib/kubelet. Fix it inside the Rancher container, then delete the CSI pod so it restarts:
Operations notes for Rancher
The standard operations playbooks apply unchanged. Rancher-specific caveats:- Backups and schedules (Backups and schedules): with Longhorn, snapshot-based backups use the Longhorn CSI snapshot support; verify
kubectl get volumesnapshotclassshows a Longhorn class before scheduling backups. Longhorn’s own volume backup targets (S3/NFS) are separate from FalkorDB Enterprise backups and optional. - Scaling (Scale a deployment): when scaling database replicas across nodes, make sure Longhorn replica counts and node disk capacity keep up; Longhorn defaults to 3 replicas per volume.
- Upgrades (Upgrade FalkorDB Enterprise, Upgrade KubeBlocks): run the installer with the same
rancher-values.yamlon every upgrade. Upgrade Rancher/RKE2 itself independently; after an RKE2 upgrade confirm the bundled ingress-nginx still serves the gateway Ingress. - Cluster access for operators: Rancher’s kubeconfigs expire based on the configured TTL. Use a service-account-based kubeconfig or the authorized cluster endpoint for long-running automation such as scheduled scripts calling
kubectl. - Troubleshooting (Troubleshoot deployments, Support packages): work unchanged. When traffic issues arise on isolated projects, check Rancher-generated NetworkPolicies first (
kubectl get networkpolicy -A).