Skip to main content

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

默认情况下,LangSmith 会为 langsmith-frontend 配置一个负载均衡器(LoadBalancer)服务。根据您的云提供商,这可能会为服务分配一个公共 IP 地址。如果您希望使用自定义域名或对流量路由到 LangSmith 安装实例拥有更多控制权,则可以配置 Ingress。

需求

  • 一个现有的 Kubernetes 集群
  • 您 Kubernetes 集群中已安装的 Ingress 控制器

Parameters

\ 您可能需要为您的 LangSmith 安装提供某些参数以配置 Ingress。此外,我们还需要将 langsmith-frontend 服务转换为 ClusterIP 服务。

  • 主机名(可选): 您希望用于 LangSmith 安装的主机名。例如 "langsmith.example.com"。如果留空,入口将服务于所有指向 LangSmith 安装的流量。

  • 子域名(可选): 如果您希望将 LangSmith 部署在子域名上,可以在这里指定。例如,添加 "langsmith" 将使应用程序在 "langsmith.example.com/langsmith" 处提供服务。

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

  • 注解(可选):要添加到 Ingress 的附加注解。某些提供商(如 AWS)可能会使用注解来控制 TLS 终止等事项。

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

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

  • TLS(可选):如果您希望通过 HTTPS 提供 LangSmith 服务,可以在此处添加 TLS 配置(许多 Ingress 控制器可能有其他方式控制 TLS,因此通常不需要此配置)。这应该是一个 TLS 配置数组。每个 TLS 配置应包含以下字段:" }

    • hosts: 证书应有效的 hosts 数组。例如 [\"langsmith.example.com\"]
    • secretName: 包含证书和私钥的 Kubernetes 密钥的名称。该密钥应包含以下键:
      • tls.crt: 证书
      • tls.key: 私钥
    • 您可以在此处阅读有关创建 TLS 密钥的更多详细信息 这里

配置

有了这些参数,您可以配置您的 LangSmith 实例以使用 Ingress。您可以通过修改 LangSmith Helm Chart 安装的config.yaml文件来实现这一点。


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 上