问题标签 [keda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
408 浏览

kubernetes - 使用 Keda 强制缩放为零

使用普通 HPA,可以手动将底层部署扩展到零。例如,这是必需的。维护任务。当缩放回一个大于零的值时,缩放会像以前一样继续。这是执行的命令:kubectl scale deployment my-deployment --replicas=0

然而,对于 KEDA,这是不可能的。文档中唯一的地方是:

KEDA 不会强制执行该值,这意味着您可以手动将部署扩展为 0,并且 KEDA 不会对其进行扩展。但是,当 KEDA 本身扩展部署时,它将尊重那里设置的值。

我无法确认这种行为,之前的缩放命令也不起作用。手动将minReplicasandmaxReplicas更改为零会在 keda 日志中引发很多错误,将部署指向假值时也会发生同样的情况。

我需要一种临时缩放到零的方法(删除 ScaledObject 当然可以,但是我需要将它们存储在某个地方,这也容易出错且违反直觉)。这应该与 的值无关minReplicaCount

使用 Kubernetes 1.15、keda 1.5.0。缩放对象示例:

0 投票
1 回答
352 浏览

kubernetes - 使用多种自动伸缩机制来自动伸缩 K8s 集群

在最近的一个实验中,我尝试使用两种机制自动扩展我的 K8s 集群:KEDA 和 HPA(见下文)。我想使用 HPA OOB 资源指标根据 pod 资源利用率(内存和 CPU)扩展我的集群,并使用 KEDA 根据自定义指标自动扩展。

即使我的部署成功并且集群运行良好且正常运行。当自动缩放启动时,集群变得混乱!Pod 不断地被配置然后取消配置,即使在我停止了针对集群的流量之后,这种状态仍然存在。我必须等待冷静期才能再次恢复理智。

我没有找到有关此主题的任何官方文档,因此在这里询问。

我的问题:

  • 可以将 k8s 集群配置为使用多种机制自动扩展吗?
  • 如果是这样,我做错了什么?

这是在 K8s 版本 1.15.11 和 KEDA 1.4.1 上

0 投票
1 回答
250 浏览

azure - 版本 "keda.sh/v1alpha1" 中没有类型 "ScaledJob" 的匹配项

我正在尝试在 AKS 中部署 KEDA 的 Scaledjob。我收到以下错误。

我尝试部署的代码来自 KEDA 网站。https://keda.sh/docs/2.0/concepts/scaling-jobs/

0 投票
1 回答
862 浏览

kubernetes - 错误没有匹配版本 keda.sh/v1alpha1 中的种类 ScaledObject

我正在尝试通过 ArgoCD 安装 KEDA。我收到以下错误。

规格:

KEDA 版本:2.0 Kubernetes 版本:1.18

0 投票
0 回答
486 浏览

ruby-on-rails - Keda 不扩展超过 1 个 Pod

我最近部署keda-2.0.0.yaml以根据其队列扩展我的 sidekiq 工作人员。

说我的设置:

我现在可以正常工作了,因为我已经设置了错误的队列名称、错误的密码、更改了队列,并且我可以看到 pod 从 0 到 1 和从 1 到 0 缩放。但它的缩放比例永远不会超过 1。

即使有 1975 个工作在 redis 列表中排队。

现在我唯一觉得奇怪的是目标值,总是未知的。

一旦队列长度为 0,则 pod 减少为 0。下面是调试级别日志。

0 投票
1 回答
763 浏览

c# - Azure Functions Kubernetes 找不到 local.settings.json

我正在尝试将我的 Azure Functions 应用程序发布到 Kubernetes,但运行此命令时出现以下错误

func kubernetes deploy --name my-function-api --namespace default --registry mycontainerregistry/docker-azure-function --csharp

找不到项目根目录。期望在项目根目录中找到 host.json、local.settings.json 之一。`

这是我的码头文件

如您所见,我尝试添加以下行

但这似乎也无济于事,所以不确定我需要做什么才能使其正常工作?任何帮助,将不胜感激。

0 投票
0 回答
426 浏览

c# - AKS 群集内 Azure Functions 的 CORS 问题

我在 Azure 中有一个 AKS 集群,它正在运行我的 Azure 函数项目。我按照本指南使其工作。

https://markheath.net/post/azure-functions-aks-keda

该服务正在运行,但是来自我的站点的任何请求都失败并出现 CORS 错误。如果您在指南中注意到该CORS选项*在 local.settings.json 文件中设置。

我注意到 azure 函数在容器内运行时似乎不会读取local.settings.jsonor文件。settings.json

我不知道为什么,但要让它在本地运行,我必须将连接字符串设置为环境变量。

看起来是func kubernetetes deploy --dry-run > deploy.yml一样的,因为 yaml 看起来像这样:

请注意,那里根本没有提及CORSin ,即使是针对LoadBalancer.

我已经做了一些研究,看起来其他人将负载均衡器更改nginx为反向代理来处理这个问题。我不确定这对我来说是一个选项,也不确定它在使用DurableFunctionsKEDA缩放时会产生什么影响,我不想做任何可能破坏该功能的事情。

FunctionApp 是用 C# 编写的

我对 Kubernetes 很陌生,所以如果您能提供帮助,请提供尽可能详细的信息。

0 投票
1 回答
36 浏览

azure - 将明确的 Dockerfile 传递给 func kubernetes deploy

有没有办法将 Dockerfile 显式传递给func kubernetes deploy命令?(像 docker build 命令中的 -f 一样) https://docs.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda

0 投票
1 回答
97 浏览

azure - 将 KEDA 与 Azure 函数队列一起使用时 Pod 突然终止

我正在使用 KEDA 自动扩展我的 ML Workload pod。当队列缩小时,即使 Pod 仍在处理队列工作负载,Pod 也会根据队列项目的数量自动扩展。我已经设置了 terminateGracePeriodSeconds 但对于我们的工作量来说太高或太低了。

阅读有关 SIGTERM 信号和 prestop 的信息,但找不到任何可以使用 KEDA queue helm chart 解决此问题的示例

0 投票
1 回答
40 浏览

docker - 每个队列消费者进程是否需要自己的 Docker 映像?

在与许多队列交互以处理后台任务的 Kubernetes 集群环境中。我是否需要为要使用的每个队列创建单独的可执行文件(以及因此 Docker 映像)?

假设我正在使用 KEDA 来触发定义为 Job 的 Docker 映像的运行。

我们正在从 WebJob/Azure Functions 环境迁移,其中多个队列消费函数可以存在于单个可执行文件中。

什么是最佳实践?