我有一个关于Kubernetes中HPA的问题。下面是我的HPA:它指出始终保持最小副本为3,并在CPU利用率超过50%时进行扩展。
kubectl autoscale deployment superset -n superset --cpu-percent=50 --min=3 --max=20
虽然我有三个pod一直在运行,但当我发送任何请求时,HPA会带来一个新的pod(我相信这仍然可以由正在运行的三个pod处理)。我的问题是,为什么HPA必须带来新的吊舱时,现有的吊舱可以满足负载?
我的hpa配置有问题吗?
1条答案
按热度按时间c9x0cxw01#
您的配置看起来是正确的,通常我会说您是对的,1个请求不应该导致扩展。所以我能想到几个可能的原因:
1.您对部署的CPU请求设置得太低。HPA的缩放算法基于
CPU used / CPU request
,* 而不是 * CPU限制,因此如果您将CPU请求设置为非常小的值(例如,1m
),那么任何活动都可能导致规模扩大。1.有问题的请求导致了一个很大的CPU峰值,或者可能使pod崩溃。我认为后一种情况下的行为与您所描述的不同,但值得监视接收请求的pod的资源和日志,以确保没有任何错误。
总的来说,在这种情况下,我会尝试掌握你拥有的任何可观察性工具,并尝试衡量pod报告的指标是否与扩展需求相匹配,或者是否发生了任何其他奇怪的事情(容器重启等)。