问题标签 [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.
kubernetes - Kubernetes - 当我扩展部署 pod 时卷未安装
我有一个 deployment.yaml,它使用了一个像这样的 persistentvolumeclaim
我正在尝试使用 (Horizontal Pod Scheduler) 水平扩展我的部署,但是当我扩展我的部署时,其余的 pod 正在ContainerCreating
处理中,这是我得到的错误describe the pod
我在这里做错了什么?
kubernetes - 水平 Pod 自动缩放器未缩小
我有这样的HPA。Pod 的扩展性很好,但没有缩小,CPU 利用率仅为 5%。它没有缩小到 1 个副本的最小值。
以下是我的 HPA
kubernetes - HorizontalPodAutoscaler scaleDown 行为
我们正在使用v1.18和ArgoCD。
期望行为:当使用率低于 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
kubernetes - 是否可以获得 SQS 中的消息总数?
我看到有 2 个单独的指标ApproximateNumberOfMessagesVisible
和 ApproximateNumberOfMessagesNotVisible
.
使用可见消息数会导致处理 pod 在从队列中获取消息后立即触发终止,因为它们不再可见。如果我使用不可见的消息数量,它将不会扩大。
我正在尝试使用水平 pod 自动缩放器和 SQS 的外部指标来扩展 kubernetes 服务。这是模板外部指标:
这是 HPA 模板:
如果我可以定义另一个自定义指标,它是这两个指标的总和,问题将得到解决,我还能如何解决这个问题?
kubernetes - 如何根据 HorizontalPodAutoscaler 的队列大小设置 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 规格:
关于如何做到这一点的任何建议?谢谢,史蒂夫
kubernetes - 当更改最大/最小副本限制时,水平 pod 自动缩放器如何处理未就绪的 pod
例如,我有 maxReplicas=10 和 5 个正在运行的 pod 处于未就绪状态。然后我将 maxReplicas 更改为 3。HPA 应该对 pod 做什么?
kubernetes - 滚动更新以在 Kubernetes 中实现零停机时间垂直 Pod 自动扩缩器
Kubernetes vertical pod autoscaler
(自动缩放内存,pod 的 cpu 资源)需要重新启动 pod 才能使用新分配的资源,这可能会增加不可用的小窗口。
我的问题是,如果 Pod 的部署正在运行,rolling update
那么在应用 VPA 建议时,将确保零停机时间和零不可用窗口。
谢谢你。
azureservicebus - 根据 Azure 服务总线中的消息计数自动缩放 AKS 部署的节点
我如何从 Azure 服务总线队列中获取未处理的消息计数,并根据计数自动缩放部署在 Azure Kubernetes 服务上的节点?
我能够获得使用 Azure Monitor 来获取队列中的消息计数并使用 HPA 配置向上/向下扩展的链接之一。
有没有其他方法可以使用 Java 代码或不使用监视器来获取 Azure 服务总线队列中的消息计数?如果有人可以提供链接以了解更多信息,请不胜感激。
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
kubernetes - Kubernetes - ScaledObject - 科达 - RabbitMQ
我使用 Keda 创建了 ScaledObject 和 TriggerAuthentication,以便根据 RabbitMQ 长度水平自动缩放我的 pod。
但由于某种原因,当我尝试像这样查询我的 ScaledObjects 时:
我什么也得不到。但是当我应用包含有关 ScaledObject 的所有信息的 yaml 文件时,输出是这样的:
我还可以使用以下命令编辑此缩放对象:
但我不确定为什么在执行此命令时未列出它:
自动缩放器确实有效,我只是想知道为什么它没有列出..
提前致谢, 亚尼夫