@@ -64,14 +64,14 @@ geneva:
6464
6565 azure:
6666 # Azure managed identity client ID for the Geneva client.
67- # This identity should have a federated credential for the Geneva namespace
67+ # This identity should have a federated credential for the LanceDB namespace
6868 # and Storage Blob Data Contributor role on the storage account.
6969 clientPrincipalId: ""
7070```
7171
72723 . Install kuberay operator
7373``` bash
74- export NAMESPACE=geneva
74+ export NAMESPACE=lancedb
7575
7676helm repo add kuberay https://ray-project.github.io/kuberay-helm/
7777helm repo update
@@ -89,4 +89,86 @@ kubectl apply -f nvidia-device-plugin.yml
89895 . Install Geneva Helm chart
9090``` bash
9191helm install geneva ./geneva -n $NAMESPACE --create-namespace
92+ ```
93+
94+ ## Default cluster and manifest
95+
96+ In LanceDB Enterprise, backfill and refresh jobs run on a ** default cluster** (the compute
97+ pool jobs run on) and a ** default manifest** (the Python dependency environment — image and
98+ packages). Configuring these in the LanceDB Enterprise chart lets jobs run out of the box
99+ without per-job configuration. They are set under ` geneva.defaults ` in the chart's
100+ ` values.yaml ` :
101+
102+ ``` yaml
103+ geneva :
104+ defaults :
105+ cluster :
106+ cluster_type : kuberay
107+ name : deployment-default
108+ kuberay :
109+ namespace : lancedb
110+ config_method : IN_CLUSTER
111+ head_group :
112+ service_account : geneva-service-account
113+ num_cpus : 2
114+ memory : 8Gi
115+ image : rayproject/ray:2.54.0-py312
116+ worker_groups :
117+ - name : cpu
118+ service_account : geneva-service-account
119+ num_cpus : 4
120+ memory : 8Gi
121+ replicas : 2
122+ min_replicas : 0
123+ max_replicas : 4
124+ idle_timeout_seconds : 60
125+ node_selector :
126+ geneva.lancedb.com/ray-worker-cpu : " true"
127+ image : rayproject/ray:2.54.0-py312
128+ manifest :
129+ name : deployment-default
130+ pip : [geneva, pyarrow, lancedb, pylance]
131+ head_image : rayproject/ray:2.54.0-py312
132+ worker_image : rayproject/ray:2.54.0-py312
133+ skip_site_packages : true
134+ ` ` `
135+
136+ When set, the chart renders a ` geneva-defaults` ConfigMap mounted at `/etc/geneva/defaults/`
137+ in the query node and job pods. If no default is configured, jobs must specify a cluster and
138+ manifest explicitly. Individual jobs can override these defaults per call with the `cluster=`
139+ / `manifest=` parameters — see [Advanced Job Configuration](/geneva/jobs/advanced-job-configuration).
140+
141+ # # Providing a Ray cluster
142+
143+ The lancedb Helm chart can be configured to deploy a static KubeRay cluster, provision KubeRay clusters on demand per job, or
144+ use an existing Ray cluster.
145+
146+ # ## Use default LanceDB Enterprise Ray cluster (default)
147+
148+ By default, LanceDB Enterprise will use a shared, statically provisioned Ray cluster for job execution.
149+
150+ This can be enabled in the Helm chart by setting the following values.
151+
152+ ` ` ` yaml
153+ raycluster:
154+ enabled: true
155+
156+ global:
157+ rayclusterUri: "ray://raycluster-kuberay-head-svc.lancedb.svc.cluster.local:10001"
158+ ` ` `
159+
160+ Configuration for the Ray cluster can be specified by modifying raycluster.yaml Helm values.
161+
162+ # ## Provision KubeRay clusters on demand
163+
164+ Set `global.rayclusterUri` to an empty value to provision ephemeral KubeRay clusters on-demand for each execution job.
165+
166+ # ## Use an external Ray cluster
167+
168+ Self-managed enterprise customers can bring an existing Ray cluster to run Geneva jobs. Simply set the rayclusterUri property in the Helm chart
169+ to a Ray address that can be accessed from the LanceDB Enterprise deployment.
170+
171+ ` ` ` yaml
172+ global:
173+ rayclusterUri: "ray://my-ray-cluster.my-ns.svc.cluster.local:10001"
92174` ` `
0 commit comments