混合部署选项需要 Enterprise 计划。获取演示 以了解更多信息。
Kubernetes
先决条件
-
您的集群上已安装
KEDA。KEDA用于根据队列大小自动扩展部署系统。 -
您的集群上已安装有效的
Ingress控制器。有关为您的部署配置入口的更多信息,请参阅为安装创建入口。我们强烈建议在生产设置中使用现代的 Gateway API。 - 如果您计划让监听器监视多个命名空间,您必须使用 Gateway API 或 Istio Gateway,而不是标准入口资源。标准入口资源只能将流量路由到同一命名空间中的服务,而 Gateway 或 Istio Gateway 可以将流量路由到跨多个命名空间的服务。
-
您的集群中有足够的空间用于多个部署。建议使用
Cluster-Autoscaler来自动配置新节点。 -
您需要启用到两个控制平面 URL 的出站流量。监听器会轮询这些端点以获取部署信息(请使用与您的 LangSmith 区域匹配的端点对——EU (GCP):
eu.api.host/eu.api.smith;US (AWS):aws.api.host/aws.api.smith):
设置
- 向我们提供您的 LangSmith 组织 ID。您的 LangSmith 组织将被配置为在您的云中部署数据平面。
-
从 LangSmith UI 创建一个监听器。
Listener数据模型是为实际的”监听器”应用程序配置的。- 在左侧导航中,选择
Deployments>Listeners。 - 在页面右上角,选择
+ Create Listener。 - 为监听器输入一个唯一的
Compute ID。Compute ID是一个用户定义的标识符,应在当前 LangSmith 工作区的所有监听器中唯一。当最终用户创建新部署时,Compute ID会显示给他们。确保Compute ID能为最终用户提供有关其代理服务器部署将部署到何处的上下文信息。例如,Compute ID可以设置为k8s-cluster-name-dev-01。在此示例中,Kubernetes 集群的名称是k8s-cluster-name,dev表示该集群保留用于“开发”工作负载,01是一个数字后缀,用于减少命名冲突。 - 输入一个或多个 Kubernetes 命名空间。稍后,“监听器”应用程序将被配置为部署到这些命名空间中的每一个。
- 在页面右上角,选择
Submit。 - 监听器创建后,复制监听器 ID。您将在稍后在 Kubernetes 集群中安装实际的“监听器”应用程序时使用它(步骤 5)。
重要提示 从 LangSmith UI 创建监听器并不会在 Kubernetes 集群中安装“监听器”应用程序。 - 在左侧导航中,选择
-
提供了一个 Helm chart,用于在您的 Kubernetes 集群中安装必要的组件。
langgraph-dataplane-listener:这是一个服务,它监听 LangChain 的控制平面以获取部署的更改,并创建/更新下游的 CRD。这就是”监听器”应用程序。LangGraphPlatform CRD:用于 LangSmith 部署的 CRD。它包含管理 LangSmith 部署实例的规范。langgraph-dataplane-operator:此操作符处理对您的 LangSmith CRD 的更改。langgraph-dataplane-redis:langgraph-dataplane-listener使用一个 Redis 实例来管理各种任务(主要是创建和删除部署)。
-
配置您的
langgraph-dataplane-values.yaml文件。config.langsmithApiKey:langgraph-listener部署使用langsmithApiKey向 LangChain 的 LangGraph 控制平面 API 进行身份验证。config.langsmithWorkspaceId:langgraph-listener部署与 LangSmith 工作区中的代理服务器部署相关联。换句话说,langgraph-listener部署只能管理指定 LangSmith 工作区 ID 中的代理服务器部署。config.langgraphListenerId:除了与 LangSmith 工作区关联外,langgraph-listener部署还与一个监听器关联。当创建新的代理服务器部署时,它会自动与一个langgraphListenerId关联。指定langgraphListenerId可确保langgraph-listener部署只能管理与langgraphListenerId关联的代理服务器部署。config.watchNamespaces:langgraph-listener部署将部署到的 Kubernetes 命名空间的逗号分隔列表。此列表应与步骤 2d 中指定的命名空间列表匹配。config.enableLGPDeploymentHealthCheck:要禁用代理服务器健康检查,请将此项设置为false。ingress.hostname:作为部署工作流的一部分,langgraph-listener部署会尝试调用代理服务器健康检查端点(GET /ok)以验证应用程序是否已正确启动。典型的设置涉及为代理服务器部署创建共享的 DNS 记录或域名。这不由 LangSmith 管理。创建后,将ingress.hostname设置为该域名,该域名将用于完成健康检查。operator.createCRDs:如果 Kubernetes 集群中已安装LangGraphPlatform CRD,请将此值设置为false。在安装过程中,如果 CRD 已安装,将会发生错误。如果多个监听器部署在同一 Kubernetes 集群上,可能会发生这种情况。
-
部署
langgraph-dataplaneHelm chart。 -
如果成功,您将在命名空间中看到三个服务启动。
您的混合基础设施现在已准备好创建部署。
在同一集群中配置其他数据平面
要在同一集群的不同命名空间中创建数据平面,请重复上述步骤,并向helm upgrade 传递 -n 选项以指定不同的命名空间。
在同一集群中安装多个数据平面时,务必遵守以下规则:
config.watchNamespaces列表绝不应与其他安装的config.watchNamespaces相交。例如,如果安装 A 正在监视命名空间foo,bar,则安装 B 不能监视foo或bar。多个操作符或监听器监视同一命名空间将导致意外行为。这意味着多个 LangSmith 工作区不能部署到同一命名空间!请查看集群组织部分以更好地理解这一点。- 必须使用 Gateway API 或 Istio Gateway。依赖标准入口资源可能会与同一集群中其他数据平面创建的 Ingress 对象发生冲突。因为这些情况下的行为取决于具体的入口控制器,这可能导致不可预测或不期望的结果。
后续步骤
基础设施设置完成后,您就可以部署应用程序了。有关构建和部署应用程序的说明,请参阅部署选项卡中的部署指南。将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

