Skip to content

如何部署自托管控制平面

在部署之前,请查看 自托管控制平面的概念指南 部署选项。

重要

自托管控制平面的部署选项目前处于测试阶段,需要 企业版 计划。

先决条件

  1. 你正在使用 Kubernetes。
  2. 你已自行部署了 LangSmith。
  3. 使用 LangGraph CLI 在本地 测试你的应用程序
  4. 使用 LangGraph CLI 构建一个 Docker 镜像(即 langgraph build),并将其推送到你的 Kubernetes 集群可以访问的注册表中。
  5. 你的集群上已安装了 KEDA
    helm repo add kedacore https://kedacore.github.io/charts 
    helm install keda kedacore/keda --namespace keda --create-namespace
    
    1. Ingress 配置
    2. 你必须为你的 LangSmith 实例设置一个 ingress。所有代理都将作为 Kubernetes 服务部署在该 ingress 后面。
    3. 你可以使用此指南为你的实例 设置 ingress
    4. 你的集群中有足够的空间用于多个部署。推荐使用 Cluster-Autoscaler 自动提供新节点。
    5. 你的集群上有一个有效的动态 PV 提供程序或可用的 PV。你可以通过运行以下命令来验证这一点:

      kubectl get storageclass

配置

  1. 在配置您的自托管 LangSmith 实例时,您需要启用 langgraphPlatform 选项。这将为您分配一些关键资源。
    1. listener: 这是一个服务,它监听 控制平面 中您的部署的更改,并创建或更新下游 CRDs。
    2. LangGraphPlatform CRD: 用于 LangGraph 平台部署的 CRD。它包含管理一个 LangGraph 平台部署实例的规格。
    3. operator: 此操作符处理您的 LangGraph 平台 CRD 的更改。
    4. host-backend: 这是 控制平面
  2. 该图表将使用两个额外的镜像。

    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"
    
  3. 在您的 langsmith_config.yaml 文件中,启用 langgraphPlatform 选项。请注意,您还必须设置有效的入口(ingress):

    config:
      langgraphPlatform:
        enabled: true
        langgraphPlatformLicenseKey: "YOUR_LANGGRAPH_PLATFORM_LICENSE_KEY"
    
    1. 在您的 values.yaml 文件中,配置 hostBackendImageoperatorImage 选项(如果您需要镜像这些镜像)。
  4. 您还可以通过覆盖 此处 的基础模板来配置代理的基础模板。

  5. 您可以通过 控制平面 UI 创建一个部署。