问题标签 [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.
kubernetes - 使用 Keda 强制缩放为零
使用普通 HPA,可以手动将底层部署扩展到零。例如,这是必需的。维护任务。当缩放回一个大于零的值时,缩放会像以前一样继续。这是执行的命令:kubectl scale deployment my-deployment --replicas=0
然而,对于 KEDA,这是不可能的。文档中唯一的地方是:
KEDA 不会强制执行该值,这意味着您可以手动将部署扩展为 0,并且 KEDA 不会对其进行扩展。但是,当 KEDA 本身扩展部署时,它将尊重那里设置的值。
我无法确认这种行为,之前的缩放命令也不起作用。手动将minReplicas
andmaxReplicas
更改为零会在 keda 日志中引发很多错误,将部署指向假值时也会发生同样的情况。
我需要一种临时缩放到零的方法(删除 ScaledObject 当然可以,但是我需要将它们存储在某个地方,这也容易出错且违反直觉)。这应该与 的值无关minReplicaCount
。
使用 Kubernetes 1.15、keda 1.5.0。缩放对象示例:
kubernetes - 使用多种自动伸缩机制来自动伸缩 K8s 集群
在最近的一个实验中,我尝试使用两种机制自动扩展我的 K8s 集群:KEDA 和 HPA(见下文)。我想使用 HPA OOB 资源指标根据 pod 资源利用率(内存和 CPU)扩展我的集群,并使用 KEDA 根据自定义指标自动扩展。
即使我的部署成功并且集群运行良好且正常运行。当自动缩放启动时,集群变得混乱!Pod 不断地被配置然后取消配置,即使在我停止了针对集群的流量之后,这种状态仍然存在。我必须等待冷静期才能再次恢复理智。
我没有找到有关此主题的任何官方文档,因此在这里询问。
我的问题:
- 可以将 k8s 集群配置为使用多种机制自动扩展吗?
- 如果是这样,我做错了什么?
这是在 K8s 版本 1.15.11 和 KEDA 1.4.1 上
azure - 版本 "keda.sh/v1alpha1" 中没有类型 "ScaledJob" 的匹配项
我正在尝试在 AKS 中部署 KEDA 的 Scaledjob。我收到以下错误。
我尝试部署的代码来自 KEDA 网站。https://keda.sh/docs/2.0/concepts/scaling-jobs/
kubernetes - 错误没有匹配版本 keda.sh/v1alpha1 中的种类 ScaledObject
我正在尝试通过 ArgoCD 安装 KEDA。我收到以下错误。
规格:
KEDA 版本:2.0 Kubernetes 版本:1.18
ruby-on-rails - Keda 不扩展超过 1 个 Pod
我最近部署keda-2.0.0.yaml
以根据其队列扩展我的 sidekiq 工作人员。
说我的设置:
我现在可以正常工作了,因为我已经设置了错误的队列名称、错误的密码、更改了队列,并且我可以看到 pod 从 0 到 1 和从 1 到 0 缩放。但它的缩放比例永远不会超过 1。
即使有 1975 个工作在 redis 列表中排队。
现在我唯一觉得奇怪的是目标值,总是未知的。
一旦队列长度为 0,则 pod 减少为 0。下面是调试级别日志。
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 之一。`
这是我的码头文件
如您所见,我尝试添加以下行
但这似乎也无济于事,所以不确定我需要做什么才能使其正常工作?任何帮助,将不胜感激。
c# - AKS 群集内 Azure Functions 的 CORS 问题
我在 Azure 中有一个 AKS 集群,它正在运行我的 Azure 函数项目。我按照本指南使其工作。
https://markheath.net/post/azure-functions-aks-keda
该服务正在运行,但是来自我的站点的任何请求都失败并出现 CORS 错误。如果您在指南中注意到该CORS
选项*
在 local.settings.json 文件中设置。
我注意到 azure 函数在容器内运行时似乎不会读取local.settings.json
or文件。settings.json
我不知道为什么,但要让它在本地运行,我必须将连接字符串设置为环境变量。
看起来是func kubernetetes deploy --dry-run > deploy.yml
一样的,因为 yaml 看起来像这样:
请注意,那里根本没有提及CORS
in ,即使是针对LoadBalancer
.
我已经做了一些研究,看起来其他人将负载均衡器更改nginx
为反向代理来处理这个问题。我不确定这对我来说是一个选项,也不确定它在使用DurableFunctions
和KEDA
缩放时会产生什么影响,我不想做任何可能破坏该功能的事情。
FunctionApp 是用 C# 编写的
我对 Kubernetes 很陌生,所以如果您能提供帮助,请提供尽可能详细的信息。
azure - 将明确的 Dockerfile 传递给 func kubernetes deploy
有没有办法将 Dockerfile 显式传递给func kubernetes deploy
命令?(像 docker build 命令中的 -f 一样)
https://docs.microsoft.com/en-us/azure/azure-functions/functions-kubernetes-keda
azure - 将 KEDA 与 Azure 函数队列一起使用时 Pod 突然终止
我正在使用 KEDA 自动扩展我的 ML Workload pod。当队列缩小时,即使 Pod 仍在处理队列工作负载,Pod 也会根据队列项目的数量自动扩展。我已经设置了 terminateGracePeriodSeconds 但对于我们的工作量来说太高或太低了。
阅读有关 SIGTERM 信号和 prestop 的信息,但找不到任何可以使用 KEDA queue helm chart 解决此问题的示例
docker - 每个队列消费者进程是否需要自己的 Docker 映像?
在与许多队列交互以处理后台任务的 Kubernetes 集群环境中。我是否需要为要使用的每个队列创建单独的可执行文件(以及因此 Docker 映像)?
假设我正在使用 KEDA 来触发定义为 Job 的 Docker 映像的运行。
我们正在从 WebJob/Azure Functions 环境迁移,其中多个队列消费函数可以存在于单个可执行文件中。
什么是最佳实践?