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
    
  6. 入口配置(推荐)

    1. 安装 Ingress Nginx 作为你部署的反向代理。

      helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
      helm repo update
      helm install ingress-nginx ingress-nginx/ingress-nginx
      
    2. 配置一个根域名,作为你所有工作负载域名的后缀(例如 us.langgraph.app)。

    3. 配置通配符证书,为你的部署终止 TLS。
    4. 注意:如果跳过此步骤,你需要为每个部署单独配置域名/证书。
  7. 你的集群有足够的空闲空间来进行多次部署。建议使用 Cluster-Autoscaler 自动配置新节点。

配置

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

    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. 在你的 values.yaml 文件中,启用 langgraphPlatform 选项。

    config:
      langgraphPlatform:
        enabled: true
        langgraphPlatformLicenseKey: "YOUR_LANGGRAPH_PLATFORM_LICENSE_KEY"
        rootDomain: "YOUR_ROOT_DOMAIN"
    
  4. 你还可以通过覆盖此处的基础模板来为你的代理配置基础模板。

  5. 你可以从控制平面用户界面创建一个部署。

Comments