Skip to main content
Feature Engineering is deployed automatically in LanceDB EnterpriseIn self-managed environments, Geneva can be installed into existing Kubernetes clusters using Helm. Please contact LanceDB for access to the Helm Chart and related resources.

Pre-requisites

  • An existing Kubernetes cluster
  • An existing node pool(s) for Geneva workloads. By default, Geneva uses node selector {"geneva.lancedb.com/ray-head": "true"} for Ray head nodes, and {"geneva.lancedb.com/ray-worker-cpu": "true"} and {"geneva.lancedb.com/ray-worker-gpu": "true"} for Ray CPU worker and Ray GPU worker nodes respectively. This can be overridden in the Geneva client.
  • Geneva Helm chart. Please contact LanceDB for access to the Helm Chart and related resources.
For more information on deploying the required cloud resources, see the manual deployment instructions.

Geneva Helm Chart

The Helm chart includes resources required for running Geneva in Kubernetes. It includes services, service accounts, RBAC roles, etc. that are used by the Geneva client to manage resources.

Install

  1. Authenticate with Kubernetes cluster, i.e. update kubeconfig
  2. Configure Helm chart values
In values.yaml, configure the service account, node selectors, and cloud resources, if applicable.
  1. Install kuberay operator
  1. Install NVIDIA device plugin (if using GPU nodes)
For GPU support, the NVIDIA device plugin must be installed in your EKS cluster:
  1. Install Geneva Helm chart

Default cluster and manifest

In LanceDB Enterprise, backfill and refresh jobs run on a default cluster (the compute pool jobs run on) and a default manifest (the Python dependency environment — image and packages). Configuring these in the LanceDB Enterprise chart lets jobs run out of the box without per-job configuration. They are set under geneva.defaults in the chart’s values.yaml:
If no default is configured, jobs must specify a manifest explicitly. Individual transforms can override the default manifest by pinning one with @udf / @chunker / @udtf (see Advanced Job Configuration); to override the cluster at runtime, use an Advanced Execution Context.

Providing a Ray cluster

The LanceDB Helm chart can be configured to deploy a static KubeRay cluster, provision KubeRay clusters on demand per job, or use an existing Ray cluster.

Use default LanceDB Enterprise Ray cluster (default)

By default, LanceDB Enterprise will use a shared, statically provisioned Ray cluster for job execution. This can be enabled in the Helm chart by setting the following values.
Configuration for the Ray cluster can be specified by modifying raycluster.yaml Helm values.

Provision KubeRay clusters on demand

Set global.rayclusterUri to an empty value to provision ephemeral KubeRay clusters on-demand for each execution job. The default KubeRay cluster configuration is specified in geneva.defaults.cluster, i.e.

Use an external Ray cluster

Self-managed enterprise customers can bring an existing Ray cluster to run Geneva jobs. Simply set the rayclusterUri property in the Helm chart to a Ray address that can be accessed from the LanceDB Enterprise deployment.