Kubernetes HPA 不会扩大规模



今天很奇怪,我使用AWS EKS集群,昨天和今天早上它对我的HPA工作得很好。从下午开始,没有任何变化,我的HPA突然不工作了!!

我的HPA:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: my_hpa_name
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my_deployment_name
minReplicas: 1
maxReplicas: 10
metrics:
- type: Pods
pods:
metric:
name: my_metrics # MUST match the metrics on custom_metrics API
target:
type: AverageValue
averageValue: 5
behavior:
scaleUp:
stabilizationWindowSeconds: 30 # window to consider waiting while scaling Up. default is 0s if empty.
scaleDown:
stabilizationWindowSeconds: 300 # window to consider waiting while scaling down. default is 300s if empty.

并且,当我开始测试时,我做了很多尝试,但都失败了:

NAME                        REFERENCE                                   TARGETS       MINPODS   MAXPODS   REPLICAS   AGE
xxxx-hpa   Deployment/xxxx-deployment   <unknown>/5   1         10        0          5s
xxxx-hpa   Deployment/xxxx-deployment   0/5           1         10        1          16s
xxxx-hpa   Deployment/xxxx-deployment   10/5          1         10        1          3m4s
xxxx-hpa   Deployment/xxxx-deployment   9/5           1         10        1          7m38s
xxxx-hpa   Deployment/xxxx-deployment   10/5          1         10        1          8m9s

你可以看到上面的副本永远不会增加!

当我描述我的HPA时,它说没有关于缩放的事件,但当前值是>我的目标,但从来没有扩大规模!!

Name:                         hpa_name
Namespace:                    default
Labels:                       <none>
Annotations:                  kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"autoscaling/v2beta2","kind":"HorizontalPodAutoscaler","metadata":{"annotations":{},"name":"hpa_name","name...
CreationTimestamp:            Thu, 04 Mar 2021 20:28:40 -0800
Reference:                    Deployment/my_deployment
Metrics:                      ( current / target )
"plex_queue_size" on pods:  10 / 5
Min replicas:                 1
Max replicas:                 10
Deployment pods:              1 current / 1 desired
Conditions:
Type            Status  Reason              Message
----            ------  ------              -------
AbleToScale     True    ReadyForNewScale    recommended size matches current size
ScalingActive   True    ValidMetricFound    the HPA was able to successfully calculate a replica count from pods metric my_metrics
ScalingLimited  False   DesiredWithinRange  the desired count is within the acceptable range
Events:           <none>

这是怎么回事?

是可能有什么问题与EKS集群??

编辑:

  1. 查看官方文件:https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/algorithm-details

within a globally-configurable tolerance, from the --horizontal-pod-autoscaler-tolerance flag, which defaults to 0.1我认为即使我的指标是6/5,它仍然会扩大规模,因为它大于1.0

  1. 我清楚地看到我的HPA工作之前,这是一些证据,它工作2天前:
NAME           REFERENCE          TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
my-hpa   Deployment/my-deployment   0/5       1         10        1          26s
my-hpa   Deployment/my-deployment   0/5       1         10        1          46s
my-hpa   Deployment/my-deployment   8/5       1         10        1          6m21s
my-hpa   Deployment/my-deployment   8/5       1         10        2          6m36s
my-hpa   Deployment/my-deployment   8/5       1         10        2          6m52s
my-hpa   Deployment/my-deployment   8/5       1         10        4          7m7s
my-hpa   Deployment/my-deployment   7/5       1         10        4          7m38s
my-hpa   Deployment/my-deployment   6750m/5   1         10        6          7m55s

但是现在,它不起作用了。我试着用新的HPA来衡量其他指标,它奏效了。就这一个。奇怪…


新编辑:由于EKS集群,这是可能的,正如我看到的:

kubectl get nodes
NAME                                           STATUS                     ROLES    AGE   VERSION
ip-172-27-177-146.us-west-2.compute.internal   Ready                      <none>   14h   v1.18.9-eks-d1db3c
ip-172-27-183-31.us-west-2.compute.internal    Ready,SchedulingDisabled   <none>   15h   v1.18.9-eks-d1db3c

SchedulingDisabled是否意味着集群不足以容纳新的pod ?

明白了。这是EKS集群问题。我的资源限制是最多2个按需节点和最多2个现场节点。需要增加集群节点

想到的一件事是您的指标服务器可能没有正确运行。如果没有来自度量服务器的数据,水平Pod自动缩放将无法工作。

相关内容

  • 没有找到相关文章

最新更新