Skip to main content

为您的 LangSmith 安装创建 Ingress(仅限 Kubernetes)

默认情况下,LangSmith 将为langsmith-frontend.根据您的云提供商,这可能会导致为服务分配一个公有 IP 地址。如果您想使用自定义域或更好地控制到 LangSmith 安装的流量路由,您可以配置 Ingress 。

要求

  • 现有 Kubernetes 集群
  • Kubernetes 集群中安装的现有 Ingress Controller

参数

您可能需要为 LangSmith 安装提供某些参数来配置 Ingress。此外,我们还需要将langsmith-frontend服务添加到 ClusterIP 服务。

  • 主机名(可选):您要用于 LangSmith 安装的主机名。例如"langsmith.example.com".如果将此项留空,则 Ingress 会将所有流量提供给 LangSmith 安装。

  • 子域(可选):如果您想在子域上提供 LangSmith,可以在此处指定。例如,将"langsmith"将在"langsmith.example.com/langsmith".

  • IngressClassName (可选):要使用的 Ingress 类的名称。如果未设置,则将使用默认的 Ingress 类。

  • Annotations (optional) (注释 (可选)):要添加到 Ingress 的其他注释。某些提供商(如 AWS)可能会使用注释来控制 TLS 终止等作。

    例如,您可以使用 AWS ALB Ingress Controller 添加以下注释,以将 ACM 证书附加到入口:

    annotations:
    alb.ingress.kubernetes.io/certificate-arn: "<your-certificate-arn>"
  • 标签 (可选):要添加到 Ingress 的其他标签。

  • TLS(可选):如果您想通过 HTTPS 提供 LangSmith,您可以在此处添加 TLS 配置(许多 Ingress 控制器可能有其他控制 TLS 的方法,因此通常不需要这样做)。这应该是一组 TLS 配置。每个 TLS 配置都应具有以下字段:

    • hosts:证书应对其有效的主机数组。例如 [“langsmith.example.com”]
    • secretName:包含证书和私钥的 Kubernetes 密钥的名称。此密钥应具有以下密钥:
      • tls.crt:证书
      • tls.key:私钥
    • 您可以在此处阅读有关创建 TLS 密钥的更多信息。

配置

有了这些参数,您就可以将 LangSmith 实例配置为使用 Ingress。您可以通过修改config.yaml文件进行 LangSmith Helm Chart 安装。


ingress:
enabled: true
hostname: "" # Main domain for LangSmith
subdomain: "" # If you want to serve langsmith on a subdomain
ingressClassName: "" # If not set, the default ingress class will be used
annotations: {} # Add annotations here if needed
labels: {} # Add labels here if needed
tls: [] # Add TLS configuration here if needed

frontend:
service:
type: ClusterIP

配置完成后,您需要更新 LangSmith 安装。如果一切都配置正确,您的 LangSmith 实例现在应该可以通过 Ingress 访问。 您可以运行以下命令来检查 Ingress 的状态:

kubectl get ingress

您应该在输出中看到如下内容:

NAME                         CLASS   HOSTS    ADDRESS          PORTS     AGE
langsmith-ingress nginx <host> 35.227.243.203 80, 443 95d
将 IP 地址添加到您的 DNS 提供商

如果您没有自动 DNS 设置,则需要手动将 IP 地址添加到您的 DNS 提供商。


这个页面有帮助吗?


您可以在 GitHub 上留下详细的反馈。