问题标签 [horizontalpodautoscaler]

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 回答
435 浏览

kubernetes - Kubernetes - 当我扩展部署 pod 时卷未安装

我有一个 deployment.yaml,它使用了一个像这样的 persistentvolumeclaim

我正在尝试使用 (Horizo​​ntal Pod Scheduler) 水平扩展我的部署,但是当我扩展我的部署时,其余的 pod 正在ContainerCreating处理中,这是我得到的错误describe the pod

我在这里做错了什么?

0 投票
1 回答
762 浏览

kubernetes - 水平 Pod 自动缩放器未缩小

我有这样的HPA。Pod 的扩展性很好,但没有缩小,CPU 利用率仅为 5%。它没有缩小到 1 个副本的最小值。

以下是我的 HPA

0 投票
0 回答
976 浏览

kubernetes - Horizo​​ntalPodAutoscaler scaleDown 行为

我们正在使用v1.18ArgoCD

期望行为:当使用率低于 50% 时,每 5 分钟一次缩减 1 个 pod

HPA 使用默认规范完美地向上和向下扩展。

当我们将自定义行为添加到规范以实现Desired Behavior时,我们根本看不到 scaleDown 发生。

我猜我们的配置与算法冲突,这条消息可能是一个线索:

编辑:我们让它与其他设置(例如每 10 分钟 5 个 pod)一起使用自定义配置行为。我还注意到,在一个策略中,可以分布在periodSeconds中,这意味着如果我的periodSeconds为 600 且值为5,我可以缩小 1 个 pod,然后在 120 秒后缩小 2 个 pod,然后在 120 秒后再次缩小 2 个 pod,所有这些都在这 600 秒内,而我之前读过,每个periodSeconds将有一个缩放事件,最多可达pod的值数. 无论如何,我们仍在试图弄清楚如何每 5 分钟缩小 1 个 pod。我的理论是,如果我当前的 CPU 平均为 49%,有 10 个 pod,并且我一次只允许缩小 1 个 pod,我们最终的使用率将超过 50%(目标),因此“所需”的 pod 保持不变相同的。

HPA DEF

描述 HPA

0 投票
2 回答
381 浏览

kubernetes - 是否可以获得 SQS 中的消息总数?

我看到有 2 个单独的指标ApproximateNumberOfMessagesVisibleApproximateNumberOfMessagesNotVisible.

使用可见消息数会导致处理 pod 在从队列中获取消息后立即触发终止,因为它们不再可见。如果我使用不可见的消息数量,它将不会扩大。

我正在尝试使用水平 pod 自动缩放器和 SQS 的外部指标来扩展 kubernetes 服务。这是模板外部指标:

这是 HPA 模板:

如果我可以定义另一个自定义指标,它是这两个指标的总和,问题将得到解决,我还能如何解决这个问题?

0 投票
0 回答
39 浏览

kubernetes - 如何根据 Horizo​​ntalPodAutoscaler 的队列大小设置 maxReplicas?

在我们的 Kubernetes 集群中,我有一个配置了外部指标的 HPA 来监控队列大小。此外,我启用了 HPAScaleToZero 门,因此如果队列上没有消息,则不会运行任何 pod。大多数情况下,这可以正常工作,但偶尔会有大量消息被推送到队列中。发生这种情况时,我需要 1 个以上的 pod 来清除积压。如果仅将 1 条消息推送到队列中,我无法弄清楚如何将 pod 的数量固定到队列的大小,而 HPA 不会超出我的需要。我希望它可以像下面这样扩展,最多 3 个 pod。

我尝试创建多个 HPA 定义,但它们最终发生冲突并为使用谁的“maxReplicas”而争论不休。SinglePod 规范将创建 1 个 pod。然后 MultiPod 将创建 2 个新的并从 SinglePod 中删除一个。然后 SinglePod 会反击并从 MultiPod 中杀死 2。这样反复进行,直到队列大小低于 MultiPod 阈值。

SinglePod 规格:

MultiPod 规格:

关于如何做到这一点的任何建议?谢谢,史蒂夫

0 投票
0 回答
10 浏览

kubernetes - 当更改最大/最小副本限制时,水平 pod 自动缩放器如何处理未就绪的 pod

例如,我有 maxReplicas=10 和 5 个正在运行的 pod 处于未就绪状态。然后我将 maxReplicas 更改为 3。HPA 应该对 pod 做什么?

0 投票
2 回答
324 浏览

kubernetes - 滚动更新以在 Kubernetes 中实现零停机时间垂直 Pod 自动扩缩器

Kubernetes vertical pod autoscaler(自动缩放内存,pod 的 cpu 资源)需要重新启动 pod 才能使用新分配的资源,这可能会增加不可用的小窗口。

我的问题是,如果 Pod 的部署正在运行,rolling update那么在应用 VPA 建议时,将确保零停机时间和零不可用窗口。

谢谢你。

0 投票
1 回答
42 浏览

azureservicebus - 根据 Azure 服务总线中的消息计数自动缩放 AKS 部署的节点

我如何从 Azure 服务总线队列中获取未处理的消息计数,并根据计数自动缩放部署在 Azure Kubernetes 服务上的节点?

我能够获得使用 Azure Monitor 来获取队列中的消息计数并使用 HPA 配置向上/向下扩展的链接之一。

https://ferhatvurucu.medium.com/queue-based-scaling-on-azure-kubernetes-service-aks-with-helm-e1d579cd77c3

有没有其他方法可以使用 Java 代码或不使用监视器来获取 Azure 服务总线队列中的消息计数?如果有人可以提供链接以了解更多信息,请不胜感激。

0 投票
1 回答
318 浏览

kubernetes - 错误:0/3 个节点可用:3 个 pod 具有未绑定的立即 PersistentVolumeClaims

我正在 Kubernetes 上部署一个 CouchDB 集群。它起作用了,当我尝试缩放它时出现错误。

我尝试扩展我的 Statefulset,当我描述 couchdb-3 时出现此错误:

0/3 个节点可用:3 个 pod 具有未绑定的立即 PersistentVolumeClaims。

当我描述 hpa 时出现这个错误:

无效指标(1 个无效),第一个错误是:未能获得 cpu 利用率:缺少 cpu 请求

无法获得 cpu 利用率:缺少 cpu 请求

我运行“ kubectl get pod -o wide”并收到以下结果:

我该如何解决它!?

  • Kubernetes 版本:1.22.4
  • Docker 版本 20.10.11,构建 dea9396
  • Ubuntu 20.04

我的 hpa 文件:

pv.yaml:

我在 /etc/exports 中设置了 nfs:/var/couchnfs 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)

statefulset.yaml

0 投票
0 回答
80 浏览

kubernetes - Kubernetes - ScaledObject - 科达 - RabbitMQ

我使用 Keda 创建了 ScaledObject 和 TriggerAuthentication,以便根据 RabbitMQ 长度水平自动缩放我的 pod。

但由于某种原因,当我尝试像这样查询我的 ScaledObjects 时:

我什么也得不到。但是当我应用包含有关 ScaledObject 的所有信息的 yaml 文件时,输出是这样的:

我还可以使用以下命令编辑此缩放对象:

但我不确定为什么在执行此命令时未列出它:

自动缩放器确实有效,我只是想知道为什么它没有列出..

提前致谢, 亚尼夫