gpt4 book ai didi

kubernetes - 如何根据 AWS SQS 队列大小扩展 GKE 部署

转载 作者:行者123 更新时间:2023-12-04 03:55:05 24 4
gpt4 key购买 nike

可能是个奇怪的问题,但发现自己:

  • 保存要处理的消息的 AWS 简单队列。
  • 处理此队列的 Google Cloud (GKE) 上的 Kubernetes 集群中的部署。

我想根据队列大小扩展部署。一个简单的逻辑例如:

  • 队列大小 = 0 => 部署 3 个 pod
  • 队列大小 0 > 10 > 1000 => 部署 20 个 pod
  • 队列大小 < 1000 => 部署 100 个 pod

原来这不是一个简单的任务,我正在寻找想法。

我试图通过 Horizo​​ntal pod autoscaler 实现这一点,但它看起来像是一项不可能完成的任务。

我最好的想法是使用 AWS Lambda 监控队列(通过消息或 cron 计划),并通过 API 更新 Kubernetes 部署。简单的部分是监控队列大小并获得所需的部署规模,但我无法通过 AWS Lambda 物理控制部署大小。

TL:DR,我想实现 kubectl 功能(规模部署),但是通过外部 lambda 运行 node.js 代码,同时向我的谷歌云平台进行身份验证,这似乎也很棘手。有几个client libraries ,但它们都没有真正记录如何验证和连接到我的集群。我什至考虑过从我的部署系统运行 bash 脚本 - 但使用 node.js 'exec' 通过 lambda 函数运行它似乎非常错误。

我是否缺少更简单的方法?

最佳答案

有一个名为 Keda 的项目:https://keda.sh/docs/2.0/scalers/aws-sqs/ .它支持基于一堆队列类型的水平扩展。支持 SQS。

要从 GKE 安全地访问 SQS/CloudWatch,可以使用 https://github.com/doitintl/gtoken这让您可以从 GKE 担任 AWS 角色。或者以一种更简单且不太安全的方式 - 具有定期 key 轮换的专用 AWS 用户。另请参阅 https://cloud.google.com/pubsub/docs/overview ,也许您可​​以替换您的 SQS 以留在一个堆栈中。

关于kubernetes - 如何根据 AWS SQS 队列大小扩展 GKE 部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64057490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com