问题标签 [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 投票
0 回答
372 浏览

autoscaling - 基于 Kubernetes HPA 的 Datadog 指标

我最后几天正在阅读和使用基于 HPA 的 Datadog 指标。在我放文件下

https://www.datadoghq.com/blog/autoscale-kubernetes-datadog/ https://kubernetes.io/docs/tasks/run-application/horizo​​ntal-pod -autoscale/

这是我的 Datadogmetric

这是我的HPA

我有两个问题

1.

当指标值高于定义的目标值时,所有工作都有效,但没有以正确的方式扩大。例如,在我将把 metricvalue/targetvalue和适当的desiredReplicas

为什么自动扩缩器添加的 pod 超过 2 个

2.

我定期看到 datadogmetric 的验证是错误的,但同时 datadogmetric 获取了指标并显示了值

deliver-rate True False 252 beta/test-beta2 9s

这是错误信息

谁能帮我解决这两个问题?

0 投票
1 回答
41 浏览

kubernetes - HPA 计算与 CPU 和内存利用率不匹配

以下是我的 HPA 配置文件、Pod 和节点使用情况。我想了解 CPU 是如何超过 85% 的。

此处的 CPU 利用率如何计算?当我只有 46 个 pod 并且每个都没有超过最大 10m cpu 时?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
64 浏览

kubernetes - 我可以自动缩放 Kind : Pod 吗?

以上是正常的 hpa.yaml 结构,是否可以将 kind 用作 pod 并自动缩放它?

0 投票
0 回答
24 浏览

kubernetes - Kubernetes HPA 是否根据“限制”或“请求”进行扩展

我正在尝试实施 HPA,但我很难理解 HPA 是否检查“限制”或“请求”的平均 cpu 利用率。

我定义了以下资源:

在 HPA 上,我配置了以下 CPU 利用率 targetCPUUtilizationPercentage: 35

这是否意味着 35% 的请求200m(放大 > 70m)或 35% 的限制400m(放大 > 140m)

0 投票
1 回答
64 浏览

kubernetes - 是否可以自动缩放除 Kind 之外的其他种类:在 Kubernetes 中部署?

我想在 Kubernetes 中使用除部署之外的其他类型进行自动缩放,这可能吗?我不想使用 kind:Deployment 的原因是重启策略,根据 k8s 文档,重启策略的唯一有效字段是“Always”,如果输入“Never”,我会收到错误消息。

在我的场景中,我有一个外部监控 UI,如果需要,我可以使用它来关闭服务,但现在发生的情况是 pod 正在终止并且正在创建新的 pod。我应该怎么办 ?请注意,我不能以 kind:Pod 的方式运行它,因为我想自动扩展服务并且 Kind:Pod 的自动扩展无效!

请分享您对此的建议和看法!提前致谢。

0 投票
1 回答
141 浏览

kubernetes - 带 MSSQL 触发器的 Keda ScaledObject

我在我的 k8s 集群中使用 keda 进行自动缩放。在使用 MSSQL 触发器部署我的缩放对象后,我准备好并处于未知状态。在日志中,我只看到它正在尝试创建 HPA,然后什么也没有发生。我猜 keda-operator 卡在这里,因为我没有得到任何日志更新。

缩放对象状态

我的缩放对象:

缩放对象

在查询执行时,我得到的值为 300,这足以启动缩放。

我还附上了操作员日志:2021-06-04T08:06:20.130Z INFO 控制器启动 EventSource {“reconcilerGroup”:“keda.sh”,“reconcilerKind”:“ScaledJob”,“controller”:“scaledjob”,“ source": "kind source: /, Kind="} 2021-06-04T08:06:20.130Z INFO controller Starting EventSource {"reconcilerGroup": "keda.sh", "reconcilerKind": "ScaledObject", "controller": "scaledobject", "source": "kind source: /, Kind="} 2021-06-04T08:06:20.130Z INFO controller Starting EventSource {"reconcilerGroup": "keda.sh", "reconcilerKind": "TriggerAuthentication" ,“控制器”:“触发身份验证”,“来源”:“种类来源:/,Kind="} 2021-06-04T08:06:20.230Z INFO 控制器启动控制器 {"reconcilerGroup": "keda.sh", "reconcilerKind": "ClusterTriggerAuthentication", "controller": "clustertriggerauthentication"} 2021-06-04T08 :06:20.230Z INFO 控制器启动工人{“reconcilerGroup”:“keda.sh”,“reconcilerKind”:“ClusterTriggerAuthentication”,“控制器”:“clustertriggerauthentication”,“工人计数”:1} 2021-06-04T08:06 :20.230Z INFO 控制器 启动控制器 {"reconcilerGroup": "keda.sh", "reconcilerKind": "TriggerAuthentication", "controller": "triggerauthentication"} 2021-06-04T08:06:20.230Z INFO 控制器启动工人 {"调节器组”:“keda.sh”、“reconcilerKind”:“TriggerAuthentication”、“controller”:“triggerauthentication”、“worker count”:1} 2021-06-04T08:06:20.230Z INFO 控制器启动 EventSource {“reconcilerGroup”:“keda .sh", "reconcilerKind": "ScaledObject", "controller": "scaledobject", "source": "kind source: /, Kind="} 2021-06-04T08:06:20.232Z INFO controller Starting Controller {" reconcilerGroup": "keda.sh", "reconcilerKind": "ScaledJob", "controller": "scaledjob"} 2021-06-04T08:06:20.330Z INFO 控制器启动控制器 {"reconcilerGroup": "keda.sh", “reconcilerKind”:“ScaledObject”,“控制器”:“scaledobject"} 2021-06-04T08:06:20.331Z INFO 控制器启动工人 {"reconcilerGroup": "keda.sh", "reconcilerKind": "ScaledObject", "controller": "scaledobject", "worker count": 1 } 2021-06-04T08:06:20.332Z INFO 控制器启动工人{“reconcilerGroup”:“keda.sh”,“reconcilerKind”:“ScaledJob”,“控制器”:“scaledjob”,“工人计数”:1} 2021 -06-04T08:07:19.986Z INFO controllers.ScaledObject 协调 ScaledObject {“ScaledObject.Namespace”:“xyz”,“ScaledObject.Name”:“mssql-keda-scaledobject”} 2021-06-04T08:07:19.986Z INFO controllers.ScaledObject 为 ScaledObject 添加终结器 {"ScaledObject.Namespace": "xyz", "ScaledObject.Name": "mssql-keda-scaledobject"} 2021-06-04T08:07:20.052Z INFO controllers.ScaledObject 检测到用于缩放的资源 {"ScaledObject.Namespace":"xyz", "ScaledObject.Name":" mssql-keda-scaledobject", "resource": "apps/v1.Deployment", "name": "xyzxyzxyzxyzxyzxyzxyz"} 2021-06-04T08:07:20.052Z INFO controllers.ScaledObject 创建一个新的 HPA {"ScaledObject.Namespace ": "xyz", "ScaledObject.Name": "mssql-keda-scaledobject", "HPA.Namespace": "xyz", "HPA.Name": "keda-hpa-mssql-keda-scaledobject"}ScaledObject.Namespace”:“xyz”,“ScaledObject.Name”:“mssql-keda-scaledobject”,“资源”:“apps/v1.Deployment”,“名称”:“xyzxyzxyzxyzxyzxyzxyz”} 2021-06-04T08:07 :20.052Z INFO controllers.ScaledObject 创建一个新的 HPA {"ScaledObject.Namespace": "xyz", "ScaledObject.Name": "mssql-keda-scaledobject", "HPA.Namespace": "xyz", "HPA.Name ": "keda-hpa-mssql-keda-scaledobject"}ScaledObject.Namespace”:“xyz”,“ScaledObject.Name”:“mssql-keda-scaledobject”,“资源”:“apps/v1.Deployment”,“名称”:“xyzxyzxyzxyzxyzxyzxyz”} 2021-06-04T08:07 :20.052Z INFO controllers.ScaledObject 创建一个新的 HPA {"ScaledObject.Namespace": "xyz", "ScaledObject.Name": "mssql-keda-scaledobject", "HPA.Namespace": "xyz", "HPA.Name ": "keda-hpa-mssql-keda-scaledobject"}xyz”,“ScaledObject.Name”:“mssql-keda-scaledobject”,“HPA.Namespace”:“xyz”,“HPA.Name”:“keda-hpa-mssql-keda-scaledobject”}xyz”,“ScaledObject.Name”:“mssql-keda-scaledobject”,“HPA.Namespace”:“xyz”,“HPA.Name”:“keda-hpa-mssql-keda-scaledobject”}

我正在为其他缩放对象创建 hpa。此外,如果我提供错误的 sql 连接凭据,我会收到适当的身份验证错误。所以我想这不是连接问题。

任何线索将不胜感激。提前致谢

0 投票
0 回答
34 浏览

kubernetes - Kubernetes 的自定义扩展操作

我想根据指标扩展我的部署,因此使用 KEDA,但应该以不同的方式部署。我想在每次扩大/缩小规模后重新启动我的所有部署吊舱。原因如下:

场景 我有容器运行我的应用程序的线程,充当数据库和处理记录的消费者。我需要跟踪副本并将其作为参数传递给我的 pod。Pod 目前需要 2 个参数来处理记录以避免重复。

  1. 副本号
  2. 最大副本数

因此 Pod 使用 JVM 修改技术从 DB 中获取唯一记录,这样重复记录就不会被 2 个 Pod 处理。

问题 Kubernetes HPA 允许自动缩放,但不提供任何自定义操作来执行。如果我在现有部署中自动扩展并且不更改最大副本数,则有可能 2 个 pod 将从数据库中提取并处理相同的记录。

我不确定 kubernetes 是否已经存在或可能使用这种功能,但我没有找到它,所以在这里问。有什么方法可以扩展 kubernetes HPA 功能或 KEDA 来定义自定义扩展策略?

0 投票
1 回答
61 浏览

kubernetes - 当 pod 中的代码在 hpa 缩减时运行时会发生什么?

我正在学习k8s hpa autoscale,有一个困惑。</p>

如果在 pod 中运行一些代码,如下所示:

当执行到time.sleep(15),此时hpa scale down,这个pod会被移除,something2不会执行吗?</p>

0 投票
1 回答
74 浏览

kubernetes - 更改 k8s API 的组名和版本

我正在使用自定义指标 API 进行自动缩放。我使用了外部 REST API 服务来处理来自 HPA 的获取请求。我想更改k8s doc中提到的 URL 标准结构中的组和版本名称。

结构体:

我的网址:

我想将组名更改custom.metrics.k8s.io为 some mycustom.metrics.k8s.io。因为这个组名和版本在那里custom-metrics-api-service.yaml(最后我附上了yaml文件)。我尝试更改组名,但 HPA 无法检索指标值。看起来 HPA 仍在寻找该 custom.metrics 组。

那么是否可以在标准 url 中更改该组和版本名称?如果是,那么我需要更改的所有文件是什么?

0 投票
1 回答
150 浏览

google-kubernetes-engine - 如何在 GKE 控制台中查看 HPA 自动缩放定义

使用 GKE 版本 - 1.18.17-gke.700

我希望在 GKE 控制台中找到一个选项,在哪里可以找到 Pods HPA 自动缩放信息的信息?我们可以使用“kubectl get hpa -n <>”获取 HPA 信息,但想知道如何从不想使用 kubectl 的 GKE 控制台获取此信息。我尝试在 GKE 控制台中查看 Pod & Replicaset YAML 配置,但找不到 HPA 规范。

我尝试浏览了许多文章(下面的示例文章链接),没有什么能真正向我们展示答案......目前在论坛上共享的任何选项都不可用。

https://cloud.google.com/kubernetes-engine/docs/how-to/horizo​​ntal-pod-autoscaling

有人可以建议吗?