GCP
先决条件
记下您的Google Cloud项目ID
安装Git
设置 Kubernetes 集群
如果没有Kubernetes集群,请创建一个。

为集群命名,选择正确的资源位置,启用“Autopilot”模式,并保持所有其他配置为默认设置。
集群创建完成后,从操作菜单中点击“连接”菜单

复制命令并将其粘贴到终端中,然后按下回车键以连接您的集群。
运行以下命令并选择正确的上下文名称,该名称类似于
gke_[ProjectId]_[DataCenter]_[ClusterName]
kubectl 配置获取上下文设置当前上下文
kubectl config use-context gke_[项目ID]_[数据中心]_[集群名称]构建并推送Docker镜像
运行以下命令以构建Docker镜像并将其推送到GCP容器注册表。
克隆Flowise
git clone https://github.com/FlowiseAI/Flowise.git构建Flowise
cd Flowise
pnpm 安装
pnpm 构建对
Dockerfile文件进行小幅更新。
指定nodejs的平台
FROM --platform=linux/amd64 node:18-alpine
添加python3、make和g++进行安装
使用apk添加 --no-cache python3 make g++
构建为Docker镜像,确保Docker桌面应用程序正在运行
docker build -t gcr.io/[ProjectId]/flowise:dev 。将Docker镜像推送到GCP容器注册表。
docker push gcr.io/[项目ID]/flowise:dev部署到 GCP
在项目中创建一个名为
yamls的根文件夹。将
deployment.yaml文件添加到该文件夹中。
# deployment.yaml
apiVersion: apps/v1
类型:部署
元数据:
名称:flowise
标签:
应用:flowise
规格:
选择器:
匹配标签:
应用:flowise
副本数:1
模板:
元数据:
标签:
应用:flowise
规格:
容器:
- 名称:flowise
镜像:gcr.io/[ProjectID]/flowise:dev
镜像拉取策略:始终
资源:
请求:
cpu: "1"
内存:“1Gi”将
service.yaml文件添加到该文件夹中。
# service.yaml
apiVersion: "v1"
类型:“服务”
元数据:
名称:"flowise-service"
命名空间:"default"
标签:
应用程序:“flowise”
规格:
端口:
- 协议:"TCP"
端口:80
目标端口:3000
选择器:
应用程序:"flowise"
类型:"LoadBalancer"
它看起来会像下面这样。

通过运行以下命令来部署yaml文件。
使用 kubectl 命令,根据文件路径 yamls/deployment.yaml 中的内容来应用配置
使用 kubectl 命令,根据 yamls/service.yaml 文件进行应用前往GCP中的“工作负载”页面,你可以看到你的Pod正在运行。

前往“服务和入口”页面,你可以点击托管Flowise的“端点”。

恭喜!
您已成功在GCP上托管了Flowise应用程序🥳
超时
默认情况下,Google Cloud Platform(GCP)为代理分配了30秒的超时时间。当响应时间超过30秒阈值时,就会出现问题。为了解决这个问题,请对YAML文件进行以下更改:
注意:要将超时设置为10分钟(例如)——我们将在下面指定600秒。
创建一个名为
backendconfig.yaml的文件,内容如下:
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: flowise-backendconfig
namespace: your-namespace
spec:
timeoutSec: 600Issue:
kubectl apply -f backendconfig.yamlUpdate your
service.yamlfile with the following reference to theBackendConfig:
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/backend-config: '{"default": "flowise-backendconfig"}'
name: flowise-service
namespace: your-namespace
...Issue:
kubectl apply -f service.yaml
Last updated