AWS

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

组件和尺寸建议

组件
选项
尺寸建议

AI Gateway

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

AWS EC2 t4g.medium 实例,至少 4GiB 内存和两个 vCPU 为了高可靠性,跨多个可用区进行部署。

日志存储(可选)

托管的 MongoDB、Document DB 或 AWS S3

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

缓存(提示、配置和虚拟密钥)

Elasticache 或自托管的 Redis

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

部署步骤

先决条件

确保已安装以下工具:

  • Docker

  • Kubectl

  • Helm (v3 或更高版本)

第一步:克隆包含 Helm Chart 的 Portkey 仓库

git clone https://github.com/Portkey-AI/helm-chart

第2步:更新 Helm 的 values.yaml

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

镜像凭据配置

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

环境变量配置

关于日志存储的说明 LOG_STORE 可以是

  • 兼容 S3 的存储(AWS S3 s3,GCS gcs,Wasabi wasabi

  • 或 MongoDB 存储(托管的 MongoDB mongo,AWS DocumentDB mongo

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

如果 LOG_STOREs3wasabigcs,则以下值是必需的

上述所有都是兼容 S3 的文档存储,并与 S3 API 互操作。您需要从各自的提供商生成 Access KeySecret Key

关于缓存的说明 如果 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 允许完全的出站访问,但如果您的集群有限制出口的 NetworkPolicies,请配置它们以允许出站流量。

出站访问的示例 NetworkPolicy:

这允许网关访问托管在您的 VPC 内部和外部的 LLM。这还为同步服务与 Portkey 控制平面之间的连接提供了支持。

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

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

通过互联网:

  • 确保负载均衡器安全组允许在指定端口上进行入站流量。

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

通过VPC对等连接:

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

所需权限

为了确保 Portkey AI 在您的 AWS 私有云部署中顺利运行,根据您使用的日志存储类型,需要特定的权限。以下是 S3 或 MongoDB 兼容数据库的详细信息。

S3 存储桶

如果使用 S3 作为日志存储,则需要以下 IAM 策略权限:

请将 YOUR_BUCKET_NAME 替换为您的实际存储桶名称。

MongoDB 兼容数据库

如果使用 MongoDB 兼容数据库,请确保 AI Gateway 具有对数据库的访问权限。数据库用户应具有以下角色:

readWrite 角色提供对指定数据库的必要读写访问权限。请将 YOUR_DATABASE_NAME 替换为您的实际数据库名称。

缓存存储 - Redis

Portkey Gateway 镜像中预装了 Redis。您可以选择使用内置的 Redis 或连接到外部 Redis 实例。

  1. 作为镜像一部分的 Redis: 不需要额外的权限或网络配置。

  2. 单独的 Redis 实例:

    网关需要权限在 Redis 实例上执行读写操作。Redis 连接可以配置为使用或不使用 TLS。

Last updated