问题标签 [hpa]

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 投票
1 回答
2197 浏览

kubernetes - 使用 Kubernetes CronJob 进行基于时间的扩展:如何避免部署覆盖 minReplicas

我有一个 Horizo​​ntalPodAutoscalar 来根据 CPU 扩展我的 pod。这里的 minReplicas 设置为5

然后,我添加了 Cron 作业以根据一天中的时间放大/缩小我的水平 pod 自动缩放器:

这非常有效,除了现在当我部署它时minReplicas用 Horizo​​ntalPodAutoscaler 规范中的 minReplicas 覆盖这个值(在我的例子中,它设置为 5)

我正在部署我的 HPAkubectl apply -f ~/autoscale.yaml

有没有办法处理这种情况?我是否需要创建某种共享逻辑,以便我的部署脚本可以计算出 minReplicas 值应该是什么?或者有没有更简单的方法来处理这个?

0 投票
1 回答
222 浏览

kubernetes - Kubernetes pod HPA 在维护/升级工作节点期间不工作

我已经为所有基于 CPU 的 pod 实现了 HPA,它按预期工作。但是当我们对工作节点进行维护时,HPA 似乎搞砸了,因为它无法识别它。我是否需要在维护期间暂时禁用 HPA,并在维护结束后将其启动。

请建议

HPA 清单 -

0 投票
1 回答
205 浏览

kubernetes - hpa 中 pod 之间的负载分布

我注意到同一 hpa 中 pod 的 cpu 利用率从 31m 到 1483m 不等。这是预期的和正常的吗?请参阅下面的 8 个具有相同 hpa 的 pod 的 cpu 利用率。

0 投票
1 回答
728 浏览

kubernetes - 具有不同命名空间的 HPA

我有一个 Kubernetes 设置,其中包含以下内容

指标在 `/apis/custom.metrics.k8s.io/v1beta1 上导出,如下所示

hpa的配置

每当我尝试在default命名空间中部署 hpa 时,都会出现以下错误。

但是当与设置相同的 hpa 时,请rabbitmq使用 hpa进行命名空间

和 deployment.yaml 作为

部署工作完美。

有没有办法,我可以将服务 rabbitmq 的指标从rabbitmq命名空间导出到任何其他命名空间,然后我可以将其用于扩展???

0 投票
1 回答
2253 浏览

kubernetes - 如何使用扩展/缩减策略实现 Kubernetes 水平 Pod 自动扩展?

AWS EKS 中的 Kubernetes v1.19

我正在尝试在我的 EKS 集群中实现水平 pod 自动缩放,并尝试模仿我们现在使用 ECS 所做的事情。使用 ECS,我们执行类似于以下的操作

  • 在连续 3 个 1 分钟的采样周期后 CPU >= 90% 时按比例放大
  • 在 5 个连续 1 分钟的采样周期后 CPU <= 60% 时按比例缩小
  • 在连续 3 个 1 分钟的采样周期后内存 >= 85% 时按比例放大
  • 在 5 个连续 1 分钟的采样周期后内存 <= 70% 时按比例缩小

我正在尝试使用HorizontalPodAutoscaler那种,并helm create给了我这个模板。(注意我修改了它以满足我的需要,但metrics节仍然存在。)

但是,我如何适应上述模板中Horizo​​ntal Pod Autoscaling中显示的放大/缩小信息,以匹配我想要的行为?

0 投票
2 回答
701 浏览

kubernetes - Kubernetes HPA 无法扩展

今天很奇怪,我使用了 AWS EKS 集群,昨天和今天早上它对我的 HPA 都很好。从下午开始,没什么变化,我的HPA突然不行了!!

这是我的 HPA:

而且,当我开始测试时,我做了很多尝试,但都失败了:

你可以看到上面的副本永远不会增加!

当我描述我的 HPA 时,它说没有关于扩大的事件,但当前值 > 我的目标,但从不扩大!

这有什么问题?

EKS集群可能有问题吗???

编辑:

  1. 查看了官方文档: https ://kubernetes.io/docs/tasks/run-application/horizo​​ntal-pod-autoscale/#algorithm-details

within a globally-configurable tolerance, from the --horizontal-pod-autoscaler-tolerance flag, which defaults to 0.1 我认为即使我的指标是 6/5,它仍然会扩大,因为它大于 1.0

  1. 我之前清楚地看到了我的 HPA 工作,这是 2 天前工作的一些证据:

但现在,它不起作用。我已经尝试为其他指标启动新的 HPA,它有效。就这一个。奇怪的...


新编辑:由于 EKS 集群,这是可能的,正如我所看到的:

SchedulingDisabled 是否意味着集群不足以容纳新的 Pod?

0 投票
1 回答
305 浏览

docker - AZURE AKS 上的 HPA,但 pod 立即进入终止状态,因为它显示无法找到要挂载的默认卷

在此处输入图像描述我正在尝试在我的项目中实现 HPA,这样每当 CPU 利用率高于 15% 时,它应该自动缩放 pod,但 HPA 正在工作,它正在创建 pod,但 pod 正在从容器创建状态变为终止状态在一秒钟内,由于 pod 正在终止,因此也无法看到任何与 pod 相关的日志,但 kubectl get events正在显示:

错误样本

0 投票
0 回答
90 浏览

prometheus - 更新 targetValue 后 HPA 不会在自定义指标上扩展

我有一个 AWS EKS 集群,并且设置了 Prometheus 和 Prometheus-Adapter。问题是,我为我的 HPA 指标目标值(阈值一)尝试了不同的值,在某些情况下,我可以看到放大工作,但另一个失败。

提供我的 HPA:

在这种情况下,当我将目标值设置为 2 时,我可以看到我的 HPA 完美运行✅,这是日志:您可以看到当我的当前值为 8 时,它已成功扩展到 8/2 = 4 个节点✅,:

但是,现在,如果我更新我的 HPA 文件,将目标值更改为更大的值,例如 5。(我删除整个 HPA 并创建一个新的。)

从日志中可以看到我可以刮到目标数(开头是0),但是我等了很久之后,没有任何放大的行为发生❌。当前值被抓取,但没有发生放大操作❌。在我的情况下,我应该有 8/5,这是 2 个所需的副本,但是,没有任何反应。❌</p>

这是我获得 hpa 并描述 HPA 时所拥有的:

注意:从描述中,我看到了一些EventforFailedGetPodsMetricFailedComputeMetricsReplicas,我相信这只是因为 HPA 的初始设置,因为从 HPA 中,我可以抓取指标以及AbleToScaleandScalingActive也是True

0 投票
1 回答
962 浏览

kubernetes - 即使当前 CPU 低于目标 CPU,HPA 缩放

我正在使用 Kubernetes 中的 Horizo​​ntal Pod Autoscaler。一旦平均 CPU 利用率超过 35%,我已将 HPA 设置为启动新实例。然而,这似乎没有按预期工作。即使 CPU 利用率远低于定义的目标利用率,HPA 也会触发重新调整。如下所示,“当前”利用率为 10%,与 35% 相差甚远。但是,它仍然将 pod 的数量从 5 个重新调整为 6 个。 在此处输入图像描述

我还检查了我的 Google Cloud Platform 仪表板(我们托管应用程序的地方)中的指标。这也表明请求的 CPU 利用率没有超过 35% 的阈值。但是,仍然发生了几次重新调整。 在此处输入图像描述

我的 HPA 的内容

有谁知道这可能是什么原因?

0 投票
1 回答
1171 浏览

kubernetes - 如何让k8s cpu和内存HPA协同工作?

我正在为 CPU 和内存使用 k8s HPA 模板,如下所示:

由于 pod 的 CPU 使用率低于 CPU 的缩减触发器,因此拥有两个不同的 HPA 会导致为触发内存 HPA 限制而启动的任何新 pod 立即被 CPU HPA 终止。它总是终止最新启动的 pod,这会保留旧的 pod 并再次触发内存 HPA,从而导致无限循环。有没有办法指示 CPU HPA 每次都终止使用率较高的 pod 而不是新生的 pod?