Skip to content
Docs

Deployment on Kubernetes

The same images as the container deployment, with vendor wiring behind one value.

Terminal window
helm repo add lifeboat https://raw.githubusercontent.com/IterateAI/lifeboat-releases/main/helm
helm repo update
Value Required Effect
gpu.vendor yes nvidia, amd or lite. Switches image, GPU resource, runtime wiring and vendor-specific pod settings together.
admin.password yes (or admin.existingSecret) The chart refuses to render without one, rather than deploying a default credential.
shmSize for tensor parallelism > 1 Fixed at pod creation.
Terminal window
helm install lifeboat lifeboat/lifeboat \
--set gpu.vendor=nvidia \
--set admin.password=<password>

gpu.vendor is a single switch on purpose: a partial change — the right image with the wrong GPU resource, say — fails in ways that look unrelated to the GPU.

  • GPU device plugins or operators. Install the NVIDIA or AMD plugin yourself.
  • Confidential-computing runtimes. The chart uses an existing runtime class if you name one; it does not install the stack.
  • Ingress. Bring your own.

Volumes for the data directory and the models directory. The data volume carries the cluster identity a licence binds to — losing it means the licence must be re-issued.

The pod runs as a non-root user with capabilities dropped. Worth knowing why the user id is set explicitly: the application directory is owned by that user, and a pod running as root without the capability to override file permissions cannot traverse it — which fails at PID 1 with a permission error naming a file that is itself world-executable. Running as the owner avoids the whole class.

Terminal window
kubectl get pods -l app.kubernetes.io/name=lifeboat
kubectl logs -l app.kubernetes.io/name=lifeboat --tail=50
kubectl port-forward svc/lifeboat 8001:8001 && curl -s localhost:8001/api/version