Skip to main content

Prerequisites

  • AWS CLI (aws) v2, configured with credentials that can create VPCs, EKS clusters, node groups, and IAM roles (aws configure or SSO).
  • eksctl 0.180 or later.
  • kubectl, helm, and base64 on the machine that runs the installer.
  • 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, and ghcr.io — or registry.falkordb.cloud alone, since every image is also mirrored there (see Private registries).
Confirm the CLI is authenticated against the right account:

Required infrastructure

A production EKS install needs: Set common variables used by the commands below:

1. Create the EKS cluster

Create a cluster with a small system node group and an IAM OIDC provider (required for the EBS CSI driver in the next step). eksctl creates the VPC and subnets automatically:
Add --zones us-east-1a,us-east-1b,us-east-1c to pin the cluster to specific availability zones if needed.

2. Create a managed node group for databases

Size this pool for your FalkorDB memory footprint. Memory-optimized r6i instances are a good fit for graph workloads.

3. Get cluster credentials

4. Install the Amazon EBS CSI driver

EKS does not provision persistent volumes out of the box — the Amazon EBS CSI driver add-on must be installed explicitly, with an IAM role scoped to it:

5. Verify storage and snapshot support

FalkorDB Enterprise uses persistent volumes for databases and the Admin Server, and volume snapshots for backups. Create a gp3 storage class and mark it default:
EKS does not ship the VolumeSnapshot CRDs or a snapshot controller by default, so leave the installer’s bundled Snapshot Controller enabled (this is the default — no extra flag needed).

Install FalkorDB Enterprise

Quick install

With the EKS context active, run the installer:
The installer keeps the Admin UI inside the Kubernetes cluster and prints the kubectl port-forward command to reach it, along with how to read the generated admin password. For an evaluation, --quick-access on a first install instead exposes the Admin UI and Admin Server API on the ingress controller’s address over plain HTTP. It uses the cluster’s default IngressClass, an IngressClass named nginx, or the only IngressClass in the cluster, in that order, and installs ingress-nginx only when none of these exists. The installer does not manage an ingress controller it did not install. The address is public only if that controller provides a public external address; an internal controller gives an internal one. The ingress-nginx controller Service provisions a Classic Load Balancer by default. See Quickstart for what the installer does and how to validate it.

Production install

For production, 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 EKS example ships inside the chart at examples/values-eks.yaml — extract it with helm registry login registry.falkordb.cloud --username '<username>' (it prompts for your access token), then helm pull oci://registry.falkordb.cloud/falkordb/falkordb-enterprise --untar. Example EKS-specific values:
These values use className: nginx, so the cluster needs the ingress-nginx controller. The installer installs it only for --quick-access, so install it yourself first:
To use a Network Load Balancer instead of the default Classic Load Balancer, annotate the ingress-nginx controller Service after install:
Then install:

DNS

Point your Admin UI hostname at the ingress load balancer:
Create a Route 53 record for admin.example.com pointing at the ADDRESS (hostname) shown:

Validate the install

With the production values file, open the Admin UI hostname. After a default install there is no Ingress: use the kubectl port-forward command the installer printed. Sign in with the bootstrap admin user; Open the Admin UI shows how to read its generated password.

Pod security admission

The installer labels falkordb-system with enforce=baseline. baseline is also enough for kb-system and for database namespaces. See Pod Security Admission levels for the measured level of each namespace and the workloads that cap it.

Clean up

Delete the Enterprise release first (see uninstall), then remove the AWS resources:
Deleting the cluster removes the VPC, subnets, node groups, and load balancers eksctl created for it.