主题
BYOC 运营
LangChain 如何升级、打补丁和维护 LangSmith BYOC 数据平面,以及何时维护需要预定窗口。
LangChain 在预置后运营你的数据平面,包括升级、扩缩、监控和安全补丁。大多数维护是非中断性的,不需要你采取任何操作。
自动扩缩
LangChain 会随负载变化对你的数据平面进行扩缩,因此你无需为其设定规模或调优:
- 无状态 LangSmith 服务:由水平 Pod 自动扩缩器进行水平扩缩,Karpenter 会随 Pod 需求变化预置和移除节点容量。
- 数据库:LangChain 为 RDS 和 ElastiCache 设定规模并进行扩缩。
高可用性
数据平面默认按高可用性预置。部署跨你区域内的多个可用区,RDS 和 ElastiCache 以多可用区(Multi-AZ)方式运行并支持自动故障转移。
NOTE
若要在无高可用性的情况下运行数据平面,请联系 LangChain 团队。
实例大小
数据平面会为数据库和节点组按默认实例大小预置。若要在更小的实例上运行数据平面,请联系 LangChain 团队。
LangSmith 升级
LangChain 每天升级你数据平面中的 LangSmith 版本。升级按副本逐个滚动进行,因此没有整个服务的停机。
有两种机制确保升级不会导致停机:
- 水平 Pod 自动扩缩:LangSmith 服务运行多个副本,由水平 Pod 自动扩缩器设定规模,因此 Pod 会一次替换几个,而其余副本继续处理流量。
- Pod 中断预算:Pod 中断预算限制了某个服务同时可以不可用的副本数量,因此无论是滚动更新还是节点排空,都不会使服务低于保持可用所需的容量。
支撑服务升级
像 Istio、KEDA 和 ClickHouse operator 这样的后台服务按固定节奏升级。这些升级是非侵入性的,预计不会造成服务中断。
Kubernetes 集群升级
承载你数据平面的 EKS 集群需要定期升级,以保持安全性、兼容性以及对新功能的访问。LangChain 会在 AWS 支持终止日期之前主动执行这些升级,并与你协调时间窗口。
集群升级分为两种类型:
- 控制平面升级:涵盖 Kubernetes API 服务器以及 AWS 与之一起管理的组件。这些对你的工作负载是透明的,不会重启 Pod。
- 节点组升级:以先建后断(make-before-break)语义逐个滚动节点。新节点按更新后的版本预置,Pod 迁移到这些节点上,旧节点在迁移完成后被终止。Pod 中断预算适用于排空,因此每个服务都保持可用,不过当单个 Pod 重启时你可能会看到短暂的连接重置。不会丢失任何数据。
维护窗口
任何可能导致停机的维护或升级,例如重启 RDS 或 ElastiCache,都会在 LangChain 提前与你协调的预定维护窗口中进行。
可观测性
你可以将可观测性工具部署到集群中,例如 Datadog 代理或 OpenTelemetry 收集器,以及你自己的安全监控代理,只要它们不干扰 LangSmith 工作负载。
LangSmith 服务发出日志、指标和追踪的方式与在自托管上相同,因此适用相同的配置。请参阅将 LangSmith 遥测导出到你的可观测性后端。
故障排查
LangChain 团队对你的数据没有常设访问权限,并且只能管理你数据平面的基础设施。当故障排查需要访问数据时,有两条路径:
- 你自行运行查询:你自己运行查询,并在与 LangChain 分享输出之前验证和净化输出。
- 紧急访问(break-glass):你将特定的工程师加入允许列表以执行该操作。你可以随时撤销该访问权限。
NOTE
如果需要紧急访问(break-glass),LangChain 团队会主动联系并提供说明。
审计
- LangSmith 审计日志:对数据平面资源的操作会记录在数据平面中,并可在你的数据平面终端节点访问。控制平面操作,例如创建用户,会在控制平面中审计。有关如何访问两者,请参阅审计日志。
- EKS 审计日志:发送到你账户中的 CloudWatch,以便你可以监控所运行的命令。
- VPC 流日志:记录在你账户中的 S3 存储桶里。使用 BYOVPC 时,你自行配置 VPC 流日志。
在这些日志上设置告警是你的责任。