针对通过 GCP Terraform 模块 部署的 GCP LangSmith 实例进行日常操作的命令速查表。所有 make 目标均从 modules/gcp/ 目录运行。运行 make help 可获取内联摘要。

部署概览

每个阶段都建立在前一个之上。在启用下一个阶段前,请验证 Pod 是否健康。

初次设置

make deploy-all 命令将 apply、init-values 和 deploy 链接在一起。 要将 Helm 发布保持在 Terraform 的管理下,而非使用部署脚本,请使用 app 层:
app 层使用自己的变量名:sizing(而非 sizing_profile)和 enable_agent_deploys(而非 enable_deployments)。

日常运维

插件

在 terraform.tfvars 中设置标志,然后运行 make init-values && make deploy。init-values.sh 会自动将匹配的示例文件复制到 helm/values/ 目录。
要在初次安装后添加插件而不重新运行 init-values.sh,请手动复制:

规模配置文件

在 terraform.tfvars 中设置 sizing_profile,然后重新运行 make init-values && make deploy。

kubectl

gcloud

Terraform

关键约束

  • 执行 terraform destroy 前请先卸载 Helm。Envoy Gateway 负载均衡器引用了 VPC;保留它会阻塞网络删除。请始终先运行 make uninstall。
  • config.deployment.url 必须包含 https://。缺少协议会导致操作器生成的代理停留在 DEPLOYING 状态。
  • config.deployment.enabled: true 是 LangSmith 部署插件的必需项。仅设置 URL 而不启用 enabled: true 会静默跳过 listener 和 operator。
  • 加密密钥首次启用后绝不能更改。轮换 insights_encryption_key 或 polly_encryption_key 会永久破坏现有加密数据。
  • 首次启用 Polly 后需要重启前端。agentBootstrap 在注册后会创建 langsmith-polly-config ConfigMap;更早启动的前端 Pod 无法获取它。
  • Envoy Gateway IP 会在销毁时更改。删除 Gateway 时,GCP 会释放外部 IP。在 terraform destroy 和重新应用后,请更新您的 DNS A 记录。
  • langsmith-ksa 注解不是永久性的。操作器在运行时创建 ServiceAccount,它不会在命名空间删除后保留。deploy.sh 会以幂等方式重新注解它。

销毁资源