gpt4 book ai didi

kubernetes - 谁能解释这种 Kubernetes HPA 行为?

转载 作者:行者123 更新时间:2023-12-02 11:42:15 27 4
gpt4 key购买 nike

所以这发生在 EKS K8s v1.15 上。您可以在 describe 输出中看到 api 版本。 millicpu 在 80 到 120 之间徘徊……这与 HPA 输出的副本数完全不匹配……

这是 YAML:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: sequencer
namespace: djin-content
spec:
minReplicas: 1
maxReplicas: 10
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: sequencer
metrics:
- type: Pods
pods:
metricName: cpu_usage
targetAverageValue: 500

这是 kubectl 描述:

[root@ip-10-150-53-173 ~]# kubectl describe hpa -n djin-content
Name: sequencer
Namespace: djin-content
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"autoscaling/v2beta1","kind":"HorizontalPodAutoscaler","metadata":{"annotations":{},"name":"sequencer","namespace":"djin-con...
CreationTimestamp: Wed, 05 Aug 2020 20:40:37 +0000
Reference: Deployment/sequencer
Metrics: ( current / target )
"cpu_usage" on pods: 122m / 500
Min replicas: 1
Max replicas: 10
Deployment pods: 7 current / 7 desired
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededRescale the HPA controller was able to update the target scale to 4
ScalingActive True ValidMetricFound the HPA was able to successfully calculate a replica count from pods metric cpu_usage
ScalingLimited False DesiredWithinRange the desired count is within the acceptable range
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulRescale 34m horizontal-pod-autoscaler New size: 10; reason: pods metric cpu_usage above target
Normal SuccessfulRescale 15m (x2 over 34m) horizontal-pod-autoscaler New size: 6; reason: pods metric cpu_usage above target
Normal SuccessfulRescale 10m horizontal-pod-autoscaler New size: 5; reason: All metrics below target
Normal SuccessfulRescale 9m51s (x2 over 23m) horizontal-pod-autoscaler New size: 3; reason: All metrics below target
Normal SuccessfulRescale 5m (x2 over 16m) horizontal-pod-autoscaler New size: 4; reason: pods metric cpu_usage above target
Normal SuccessfulRescale 4m45s (x2 over 15m) horizontal-pod-autoscaler New size: 5; reason: pods metric cpu_usage above target
Normal SuccessfulRescale 4m30s horizontal-pod-autoscaler New size: 7; reason: pods metric cpu_usage above target

自定义指标 API 正确/频繁地填充并且运行良好。部署目标工作完美......我已经为这个 API 和副本计算检查了整个 k8s 代码库,这没有意义......

最佳答案

指标似乎不匹配,您有 122m(毫核)vs/500 原始数据。

  "cpu_usage" on pods:  122m / 500

您没有指定是什么在计算您的自定义指标,可能是将额外的 0 添加到 122m 使其成为 1220/500(我假设 cpu_usage 是自定义指标,因为常规指标服务器指标只是 cpu)但您可以尝试:

targetAverageValue: 500m

在 CPU 使用率上执行 HPA 的更常见方法是使用来自指标服务器的 CPU 使用率百分比。

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: php-apache
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: php-apache
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 50
...

缩放事件由 kube-controlller-manager 管理在您的 K8s 控制平面中,如果您启用了 EKS 控制平面日志,您还可以查看那里以找到更多信息。 👀

✌️<​​/p>

关于kubernetes - 谁能解释这种 Kubernetes HPA 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63273766/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com