问题标签 [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.
kubernetes - 使用 Kubernetes CronJob 进行基于时间的扩展:如何避免部署覆盖 minReplicas
我有一个 HorizontalPodAutoscalar 来根据 CPU 扩展我的 pod。这里的 minReplicas 设置为5
:
然后,我添加了 Cron 作业以根据一天中的时间放大/缩小我的水平 pod 自动缩放器:
这非常有效,除了现在当我部署它时minReplicas
用 HorizontalPodAutoscaler 规范中的 minReplicas 覆盖这个值(在我的例子中,它设置为 5)
我正在部署我的 HPAkubectl apply -f ~/autoscale.yaml
有没有办法处理这种情况?我是否需要创建某种共享逻辑,以便我的部署脚本可以计算出 minReplicas 值应该是什么?或者有没有更简单的方法来处理这个?
kubernetes - Kubernetes pod HPA 在维护/升级工作节点期间不工作
我已经为所有基于 CPU 的 pod 实现了 HPA,它按预期工作。但是当我们对工作节点进行维护时,HPA 似乎搞砸了,因为它无法识别它。我是否需要在维护期间暂时禁用 HPA,并在维护结束后将其启动。
请建议
HPA 清单 -
kubernetes - hpa 中 pod 之间的负载分布
我注意到同一 hpa 中 pod 的 cpu 利用率从 31m 到 1483m 不等。这是预期的和正常的吗?请参阅下面的 8 个具有相同 hpa 的 pod 的 cpu 利用率。
kubernetes - 具有不同命名空间的 HPA
我有一个 Kubernetes 设置,其中包含以下内容
指标在 `/apis/custom.metrics.k8s.io/v1beta1 上导出,如下所示
hpa的配置
每当我尝试在default
命名空间中部署 hpa 时,都会出现以下错误。
但是当与设置相同的 hpa 时,请rabbitmq
使用 hpa进行命名空间
和 deployment.yaml 作为
部署工作完美。
有没有办法,我可以将服务 rabbitmq 的指标从rabbitmq
命名空间导出到任何其他命名空间,然后我可以将其用于扩展???
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
节仍然存在。)
但是,我如何适应上述模板中Horizontal Pod Autoscaling中显示的放大/缩小信息,以匹配我想要的行为?
kubernetes - Kubernetes HPA 无法扩展
今天很奇怪,我使用了 AWS EKS 集群,昨天和今天早上它对我的 HPA 都很好。从下午开始,没什么变化,我的HPA突然不行了!!
这是我的 HPA:
而且,当我开始测试时,我做了很多尝试,但都失败了:
你可以看到上面的副本永远不会增加!
当我描述我的 HPA 时,它说没有关于扩大的事件,但当前值 > 我的目标,但从不扩大!
这有什么问题?
EKS集群可能有问题吗???
编辑:
- 查看了官方文档: https ://kubernetes.io/docs/tasks/run-application/horizontal-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
- 我之前清楚地看到了我的 HPA 工作,这是 2 天前工作的一些证据:
但现在,它不起作用。我已经尝试为其他指标启动新的 HPA,它有效。就这一个。奇怪的...
新编辑:由于 EKS 集群,这是可能的,正如我所看到的:
SchedulingDisabled 是否意味着集群不足以容纳新的 Pod?
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 时所拥有的:
注意:从描述中,我看到了一些Event
forFailedGetPodsMetric
和FailedComputeMetricsReplicas
,我相信这只是因为 HPA 的初始设置,因为从 HPA 中,我可以抓取指标以及AbleToScale
andScalingActive
也是True
。
kubernetes - 即使当前 CPU 低于目标 CPU,HPA 缩放
我正在使用 Kubernetes 中的 Horizontal Pod Autoscaler。一旦平均 CPU 利用率超过 35%,我已将 HPA 设置为启动新实例。然而,这似乎没有按预期工作。即使 CPU 利用率远低于定义的目标利用率,HPA 也会触发重新调整。如下所示,“当前”利用率为 10%,与 35% 相差甚远。但是,它仍然将 pod 的数量从 5 个重新调整为 6 个。
我还检查了我的 Google Cloud Platform 仪表板(我们托管应用程序的地方)中的指标。这也表明请求的 CPU 利用率没有超过 35% 的阈值。但是,仍然发生了几次重新调整。
我的 HPA 的内容
有谁知道这可能是什么原因?
kubernetes - 如何让k8s cpu和内存HPA协同工作?
我正在为 CPU 和内存使用 k8s HPA 模板,如下所示:
由于 pod 的 CPU 使用率低于 CPU 的缩减触发器,因此拥有两个不同的 HPA 会导致为触发内存 HPA 限制而启动的任何新 pod 立即被 CPU HPA 终止。它总是终止最新启动的 pod,这会保留旧的 pod 并再次触发内存 HPA,从而导致无限循环。有没有办法指示 CPU HPA 每次都终止使用率较高的 pod 而不是新生的 pod?