问题标签 [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 回答
386 浏览

kubernetes - Kubernetes:如果我们已经有了 HPA,那么资源限制有什么用?

假设我将资源请求和限制设置为

targetCPUUtilizationPercentage设置为 80,

因此,当 Pod 平均使用超过 80m 的 CPU 时,它将自动扩展。

所以,我想了解的是,这种情况下的资源限制是没有用的,对吧?或者,它有什么作用吗?

0 投票
1 回答
1018 浏览

kubernetes - HPA 说 FailedComputeMetricsReplicas

我已经部署了一个应用程序并将其公开为负载均衡器服务。我在部署的 yaml 中添加了资源字段来请求 100m cpu。定义了一个 HPA 以在 CPU 超过 50% 时扩展应用程序。该应用程序无法自动缩放,并且 CPU 利用率始终显示为未知。kubectl describe hpa给出以下结果:

Kubectl 顶级节点命令有效。我部署了一个演示 wordpress 应用程序并为其附加了 HPA,它显示 CPU 利用率而不是未知数。

附加我的 yaml 以进行部署和 HPA。

HPA YAML

0 投票
2 回答
2291 浏览

kubernetes - Kubernetes HPA - 扩大冷却时间

我正在运行一个带有 HPA 的 Kubernetes 集群 v1.16(目前是 GKE 上的最新版本),它根据自定义指标(特别是从谷歌云监控获取的 rabbitmq 消息计数)扩展部署。

问题

当消息计数暂时很高时,部署会非常快速地扩展到最大 pod 计数。

信息

HPA --horizo​​ntal-pod-autoscaler-sync-period 在 GKE 上设置为 15 秒,据我所知无法更改。

我的自定义指标每 30 秒更新一次。

我相信导致这种行为的原因是,当每 15 秒队列中的消息计数很高时,HPA 会触发扩展,并且在几个周期后它会达到最大 pod 容量。

在 kubernetes api v1.18 中,您可以控制放大稳定时间,但我在 v1.16 中找不到类似的功能。

我的问题

如何使 HPA 逐步扩大规模?

编辑 1

我的一项部署的示例 HPA:

0 投票
0 回答
67 浏览

kubernetes - 如何在openshift中自动缩放spring批处理应用程序

这是关于以下 SO 问题 - 如何在 openshift 中自动缩放弹簧批处理应用程序?

对于上述部署方法,一旦处理结束,即当请求队列的输入用尽时,我们如何终止批处理 PODS

问候,
巴鲁

0 投票
3 回答
9641 浏览

kubernetes - Kubernetes HPA -- 无法获取资源内存的指标:资源指标 API 没有返回指标

下午好

我刚开始使用 Kubernetes,我正在使用 HPA(Horizo​​ntalPodAutoscaler):

但是当我尝试在控制台上查看指标时,它没有显示:

我的表现是:

给我看标签

此外,如果我执行 kubect describe hpa,它会向我抛出以下内容:

我不在云中工作,我在使用 Bare-Metal 配置的本地环境中工作

还要安装metrics-server:

我会缺少什么?有人可以帮我一把吗?

0 投票
1 回答
175 浏览

kubernetes - Horizo​​ntalPodAutoscaler Kubernetes 不保留最小副本数

下午好。我正在使用 HPA (Horizo​​ntalPodAutoscaler) 自动缩放 Pod 的副本,在这种情况下,我使用内存使用作为参考,我声明如下:

我想要的是在 pod 的内存使用百分比大于 70% 时自动扩展我的 pod,并且当这个百分比下降时,我的副本返回到声明的最小值,但是,在进行测试时,我将限制设置为 70,但没有,当内存使用低于此值时,副本继续在 4。

5 分钟过去了,这就是 HPA 显示的内容:

我对 HPA 有错误的概念,或者我以错误的方式声明了 HPA 的配置,或者当内存使用量低于指定值时如何减少副本数量

我的环境是本地的,并且配置了 metalb,我使用 LoadBalancer 来公开我的服务

0 投票
2 回答
626 浏览

kubernetes - Kubernetes 指标服务器不提供所有指标或扩展 HPA

按照此处的示例https://kubernetes.io/docs/tasks/run-application/horizo​​ntal -pod-autoscale-walkthrough/#autoscaling-on-metrics-not-related-to-kubernetes-objects ,我创建了安装的指标-server 并修改如下:

查询时会列出我的节点:

但是,HPA 目标仍然“未知”:

运行顶级节点有效,但顶级 pod 无效

顶部 pod 返回错误error: Metrics not available

这是在 Kubernetes 服务器版本v1.19.3和指标服务器版本上0.3.6

来自 metrics-server 的日志

0 投票
1 回答
1044 浏览

kubernetes - 如何在不修改副本的情况下升级 Helm 中的部署?

在 Helm 图表中创建DeploymentHorizontalPodAutoscaler一起时,部署.spec.replicas应该设置为null,还是应该取消设置,或者应该设置为 hpaminReplicas和之间的某个值maxReplicas

创建 hpa 时,hpa 控制器管理部署的.spec.replicas,因此当您更新部署的其他字段时,您不应更改副本。

与声明式配置相比,如果您在第一次创建部署时未设置kubectl apply,则可以修改部署的其他字段而无需修改,以便将来应用部署时 3-way diff 忽略该字段。或者要在创建时间之后省略字段,您必须使用以避免在删除字段时意外缩小到 1 ( kubernetes/kubernetes#67135 )。因此,可以在不接触的情况下应用部署。.spec.replicas.spec.replicaskubectl apply edit-last-appliedkubectl apply.spec.replicas

helm upgrade在不改变其扩展性的情况下,部署其他字段的正确方法是什么?

0 投票
1 回答
210 浏览

kubernetes - Kubernetes 部署终止最旧的 Pod

我正在使用 Azure Kubernetes 服务来运行从 RabbitMQ 中提取、运行一些处理并返回它的 Go 应用程序。豆荚可扩展以处理增加的工作。相当普通的东西。

HPA 设置如下:

随着 HPA 的扩展和缩减,总会有 2 个 pod 保持运行。我们发现,运行这么久之后,这些 Pod 上的 Go 应用程序会超时。有时是几天,有时是几周。是的,我们可能可以深入研究代码并弄清楚这一点,但对于那个团队来说,这是一种低优先级。

我想到的另一个解决方案是让 HPA 首先删除最旧的 pod。这意味着最老的 pod 永远不会超过几个小时。先进先出的模型。

但是,我没有看到任何明确的方法来做到这一点。完全有可能不是,但它似乎是可行的。

我错过了什么吗?有没有办法使这项工作?

0 投票
1 回答
148 浏览

kubernetes - k8s Horizo​​ntalPodAutoscaler - 在限制上设置目标,而不是请求

我有一个部署,其中 cpu 请求为 500m,cpu 限制为 1000m。我创建一个 hpa 作为 -

这会根据 cpu 请求进行计算。有没有办法让它查看cpu限制?