GCP

本企业专注的文档提供了在 Google Cloud Platform (GCP) 上部署 Portkey 软件的全面指导,旨在满足大规模、关键任务应用的需求。它包括组件规格、高可用性、灾难恢复和与监控系统集成的具体建议。

组件和尺寸建议

组件:AI 网关

  • 部署: 使用 Helm Charts 在您的 Kubernetes 集群中作为 Docker 容器部署。

  • 实例类型: GCP n1-standard-2 实例,至少具有 4GiB 内存和两个 vCPU。

  • 高可用性: 在多个区域部署以确保高可靠性。

组件:日志存储(可选)

  • 选项: 托管的 MongoDB、Google Cloud Storage (GCS) 或 Google Firestore。

  • 大小: 每个日志文档的大小约为 10kb(未压缩)。

组件:缓存(提示、配置和虚拟键)

  • 选项: Google Memorystore for Redis 或自托管 Redis。

  • 部署: 在与 Portkey Gateway 相同的 VPC 中部署。

部署步骤

前提条件

确保已安装以下工具:

  • Docker

  • Kubectl

  • Helm (v3 或更高版本)

步骤 1:克隆包含 Helm Chart 的 Portkey 仓库

第2步:更新Helm的values.yaml

修改Helm图表目录中的values.yaml文件,以包含Docker注册表凭据和必要的环境变量。您可以在./helm-chart/helm/enterprise/values.yaml找到示例文件。

镜像凭据配置

Portkey团队将共享您的镜像凭据。

环境变量配置

这些变量也可以存储并从保管库中获取。

关于日志存储的说明

LOG_STORE可以是:

  • Google Cloud Storage (gcs)

  • 托管的MongoDB (mongo)

如果LOG_STOREmongo,则需要以下环境变量:

如果LOG_STOREgcs,则以下值是必需的:

您需要从相应的提供商处生成访问密钥和秘密密钥。

关于缓存的说明

如果将CACHE_STORE设置为redis,则还将在集群中部署一个Redis实例。如果您使用自定义Redis,则可以留空。以下值是必需的:

REDIS_URL默认为redis://redis:6379REDIS_TLS_ENABLED默认为false

关于分析存储的说明

此存储托管在Portkey的控制平面中,这些凭据将由Portkey团队共享。

以下是必需的,并由Portkey团队共享。

步骤 3:使用 Helm Charts 部署

导航到包含您的 Helm chart 的目录,并运行以下命令以部署应用程序:

此命令将 Helm chart 安装到 portkeyai 命名空间中.

步骤 4:验证部署

检查您的部署状态以确保一切正常运行:

第5步:端口转发(可选)

要通过互联网访问服务,请使用端口转发:

<pod-name> 替换为您的 pod 名称.

卸载部署

如果您需要移除部署,请运行:

此命令将卸载 Helm 发布并清理资源.

网络配置

第一步:允许访问服务

要使服务可以从集群外部访问,请在您的 values.yaml 或 Helm 模板中定义类型为 LoadBalancer 的 Service。指定外部访问所需的端口。

<desired_port> 替换为应用程序内部监听的端口号,以便进行外部访问.

步骤 2:确保出站网络访问

默认情况下,Kubernetes 允许完全的出站访问,但如果您的集群有限制 egress 的 NetworkPolicies,请配置它们以允许出站流量。

出站访问的示例 NetworkPolicy:

这允许网关访问托管在您的 VPC 内部和外部的 LLM。它还使同步服务能够连接到 Portkey 控制平面。

第3步:为Portkey控制平面配置入站访问

确保Portkey控制平面可以通过互联网或VPC对等连接访问服务。

通过互联网:

  • 确保LoadBalancer安全组允许在指定端口上进行入站流量。

  • 记录控制平面连接的公共IP/主机名和端口。

通过VPC对等连接:

  • 在您的GCP账户与控制平面的GCP账户之间设置VPC对等连接。需要Portkey团队手动设置。

本指南提供了在GCP上有效部署Portkey所需的步骤和配置,确保高可用性、可扩展性以及与您现有基础设施的集成。

Last updated