Main changes made: - Add top level horizontal tabs - Reorganize the sidenav - Build out README/index page - Consolidate how-tos under each section - Remove duplicate content --------- Signed-off-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com> Co-authored-by: Tat Dat Duong <david@duong.cz> Co-authored-by: Sydney Runkle <sydneymarierunkle@gmail.com> Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com> Co-authored-by: Vadym Barda <vadym@langchain.dev> Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com> Co-authored-by: ccurme <chester.curme@gmail.com> Co-authored-by: Andrew Nguonly <andrewnguonly@users.noreply.github.com> Co-authored-by: David Asamu <david.asamu@langchain.dev> Co-authored-by: infra <mukil@langchain.dev> Co-authored-by: Arjun Natarajan <arjun@langchain.dev>
3.0 KiB
How to Deploy Self-Hosted Control Plane
Before deploying, review the conceptual guide for the Self-Hosted Control Plane deployment option.
Prerequisites
-
You are using Kubernetes.
-
You have self-hosted LangSmith deployed.
-
Use the LangGraph CLI to test your application locally.
-
Use the LangGraph CLI to build a Docker image (i.e.
langgraph build) and push it to a registry your Kubernetes cluster has access to. -
KEDAis installed on your cluster.helm repo add kedacore https://kedacore.github.io/charts helm install keda kedacore/keda --namespace keda --create-namespace -
Ingress Configuration
- You must set up an ingress for your LangSmith instance. All agents will be deployed as Kubernetes services behind this ingress.
- You can use this guide to set up an ingress for your instance.
-
You have slack space in your cluster for multiple deployments.
Cluster-Autoscaleris recommended to automatically provision new nodes. -
A valid Dynamic PV provisioner or PVs available on your cluster. You can verify this by running:
kubectl get storageclass
Setup
-
As part of configuring your Self-Hosted LangSmith instance, you enable the
langgraphPlatformoption. This will provision a few key resources.listener: This is a service that listens to the control plane for changes to your deployments and creates/updates downstream CRDs.LangGraphPlatform CRD: A CRD for LangGraph Platform deployments. This contains the spec for managing an instance of a LangGraph platform deployment.operator: This operator handles changes to your LangGraph Platform CRDs.host-backend: This is the control plane.
-
Two additional images will be used by the chart.
hostBackendImage: repository: "docker.io/langchain/hosted-langserve-backend" pullPolicy: IfNotPresent tag: "0.9.80" operatorImage: repository: "docker.io/langchain/langgraph-operator" pullPolicy: IfNotPresent tag: "aa9dff4" -
In your
values.yamlfile, enable thelanggraphPlatformoption. Note that you must also have a valid ingress setup: config: langgraphPlatform: enabled: true langgraphPlatformLicenseKey: "YOUR_LANGGRAPH_PLATFORM_LICENSE_KEY" -
In your
values.yamlfile, configure thehostBackendImageandoperatorImageoptions (if you need to mirror images) -
You can also configure base templates for your agents by overriding the base templates here.
-
You create a deployment from the control plane UI.