在 Kubernetes 上部署 Langflow 开发环境
Langflow 集成开发环境 (IDE) Helm 图表 旨在为开发者提供一个完整的环境,用于创建、测试和调试他们的流程。它包含 Langflow API 和可视化编辑器。
先决条件
- 一个 Kubernetes 集群
- kubectl
- Helm
准备 Kubernetes 集群
本示例使用 Minikube,但您可以使用任何 Kubernetes 集群。
-
在 Minikube 上创建 Kubernetes 集群:
_10minikube start -
设置
kubectl
使用 Minikube:_10kubectl config use-context minikube
安装 Langflow IDE Helm 图表
-
将仓库添加到 Helm,然后更新它:
_10helm repo add langflow https://langflow-ai.github.io/langflow-helm-charts_10helm repo update -
在
langflow
命名空间中使用默认选项安装 Langflow:_10helm install langflow-ide langflow/langflow-ide -n langflow --create-namespace -
检查 Pod 的状态:
_10kubectl get pods -n langflow
访问 Langflow IDE
启用本地端口转发以从本地机器访问 Langflow:
-
使 Langflow API 在本地机器的端口 7860 上可访问:
_10kubectl port-forward -n langflow svc/langflow-service-backend 7860:7860 -
使可视化编辑器在本地机器的端口 8080 上可访问:
_10kubectl port-forward -n langflow svc/langflow-service 8080:8080
现在您可以执行以下操作:
- 在
http://localhost:7860
上访问 Langflow API。 - 在
http://localhost:8080
上访问可视化编辑器。
修改您的 Langflow IDE 部署
您可以修改 Langflow IDE Helm 图表的 values.yaml
文件来自定义您的部署。
以下部分描述了一些常见 的修改。
如果您需要设置密钥,建议使用 Kubernetes 密钥。
部署不同版本的 Langflow
Langflow IDE Helm 图表默认部署最新版本的 Langflow。
要指定不同的 Langflow 版本,请将 langflow.backend.image.tag
和 langflow.frontend.image.tag
值设置为您想要的版本。
例如:
_10langflow:_10 backend:_10 image:_10 tag: "1.0.0a59"_10 frontend:_10 image:_10 tag: "1.0.0a59"
为 Langflow 数据库使用外部存储
Langflow IDE Helm 图表使用默认的 Langflow 数据库配置,特别是存储在本地持久磁盘中的 SQLite 数据库。
如果您想使用 外部 PostgreSQL 数据库,请在 values.yaml
中使用 postgresql
图表或 externalDatabase
来配置数据库连接。
- postgresql
- externalDatabase
使用内置的 PostgreSQL 图表:
_10postgresql:_10 enabled: true_10 auth:_10 username: "langflow"_10 password: "langflow-postgres"_10 database: "langflow-db"
如果您不想使用内置的 PostgreSQL 图表,请将 postgresql.enabled
设置为 false
,然后在 langflow.backend.externalDatabase
中配置数据库连接:
_22postgresql:_22 enabled: false_22_22langflow:_22 backend:_22 externalDatabase:_22 enabled: true_22 driver:_22 value: "postgresql"_22 port:_22 value: "5432"_22 user:_22 value: "langflow"_22 password:_22 valueFrom:_22 secretKeyRef:_22 key: "password"_22 name: "your-secret-name"_22 database:_22 value: "langflow-db"_22 sqlite:_22 enabled: false