Documentation Index
Fetch the complete documentation index at: https://lancedb-bcbb4faf-docs-namespace-typescript-examples.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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
- Authenticate with Kubernetes cluster, i.e. update kubeconfig
- Configure Helm chart values
In values.yaml, configure the service account, node selectors, and cloud resources, if applicable.
geneva:
# Object storage root URI
rootUri:
value: "s3://my-data-bucket"
serviceAccount:
# Service account for Geneva worker pods and services
annotations:
# Set per-CSP annotations to provide access to CSP resources, i.e.
# eks.amazonaws.com/role-arn: arn:aws:iam::0123456789:role/geneva_service_role
# iam.gke.io/gcp-service-account: geneva-service-account@my-project.iam.gserviceaccount.com
gcp:
# GCP service account email for the Geneva client.
# It should have access to the GKS cluster and "roles/storage.objectUser"
# permissions on the object storage bucket.
# e.g., geneva-client-sa@project-id.iam.gserviceaccount.com
clientServiceAccount: ""
aws:
# AWS IAM role ARN to be assumed by the Geneva client.
# This role should have an access entry to the cluster with username matching the role ARN.
# It should also have r/w access to the object storage bucket.
# e.g., arn:aws:iam::123456789012:role/geneva-client-role
clientRoleArn: ""
azure:
# Azure managed identity client ID for the Geneva client.
# This identity should have a federated credential for the Geneva namespace
# and Storage Blob Data Contributor role on the storage account.
clientPrincipalId: ""
- Install kuberay operator
export NAMESPACE=geneva
helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm repo update
helm install kuberay-operator kuberay/kuberay-operator -n $NAMESPACE --create-namespace
- Install NVIDIA device plugin (if using GPU nodes)
For GPU support, the NVIDIA device plugin must be installed in your EKS cluster:
curl https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.17.0/deployments/static/nvidia-device-plugin.yml > nvidia-device-plugin.yml
kubectl apply -f nvidia-device-plugin.yml
- Install Geneva Helm chart
helm install geneva ./geneva -n $NAMESPACE --create-namespace