Quickstart
LatticeFlow Web - Kubernetes Helm Chart
Overview
The Web frontend can be exposed via an Ingress controller, a Load Balancer, or Kubectl port forward. This Helm chart will use Load Balancer to expose the services.
LatticeFlow App, Workers and Jupyter are defined in a single pod. This ensures the three containers will be scheduled on the same node and able to communicate with each other as well as share the underlying storage.
Minimum recommended node configuration is 4 CPU, 100 Gi available storage, 32 Gi RAM.
Prerequisites (Offline Deployment)
If you are deploying from an offline docker registry, you first need to pull the latticeflow images from our public registry. To do so:
Step 1: Login to Docker Registry
LatticeFlow Web is a containerized application. To gain access to LatticeFlow Docker images, login into the LatticeFlow Docker registry.
To login, use your the Docker credentials in the command below and run it.
docker login registry.gitlab.com -u <username> -p <password>
Step 2: Pull the Docker Image
docker pull registry.gitlab.com/latticeflow/cloud/cloud/latticeflow-assessment:0.10.0
Step 3: Push the Docker Image to your Local Registry
Follow internal steps to push the docker image to your local registry and adjust the dockerRegistry
value in step 4 below.
Install
1. Create Namespace and Set Context
kubectl create ns latticeflow
kubectl config set-context --current --namespace=latticeflow
2. Create Secrets
Create secret with keys:
If you are running in an offline environment without access to external providers, initialize the secret keys as follows:
kubectl -n latticeflow create secret generic secret-keys --from-literal=OPENAI_API_KEY= --from-literal=OPENAI_ORG= --from-literal=TOGETHER_API_KEY= --from-literal=GEMINI_API_KEY=
Otherwise, if any external providers are available, initialize their credentials using:
kubectl -n latticeflow create secret generic secret-keys --from-literal=OPENAI_API_KEY=key --from-literal=OPENAI_ORG=key --from-literal=TOGETHER_API_KEY=key --from-literal=GEMINI_API_KEY=key
3. Download Helmchart
Download the latest lf-assessment-helm-0.10.0.tgz Helmchart.
4. Helm Install
Run helm show values lf-assessment-helm-0.10.0.tgz > values.yaml
- (Optional) Edit
values.yaml
and override default values to meet your needs.
helm -n latticeflow install latticeflow-assessment-web ./lf-assessment-helm-0.10.0.tgz -f values.yaml
Access LF Web
1. Open web browser
Access LatticeFlow app and Jupyter by navigating to the Load Balancer FQDN on port 5005 and 8888 respectively.
- Port 5005 serve the user facing web application
- Port 8888 is used for development purposes (i.e, to configure and execute advanced parts of the assessment)
Uninstall
1. Uninstall helm chart
helm -n latticeflow uninstall latticeflow-assessment-web
2. Delete secrets
kubectl -n latticeflow delete secret secret-keys
3. Delete namespace
kubectl delete ns latticeflow
Updated 8 days ago