水平Pod自动缩放和资源配置校准



我想了解hpa是如何工作的,但我有一些担忧:

如果我的服务设置如下:

resources:
limits:
cpu: 500m
memory: 1Gi
requests:
cpu: 250m
memory: 512Mi

和我这样配置hpa:

spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: test-service
minReplicas: 3
maxReplicas: 6
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50

是否妨碍我的服务达到极限(500m),对吗?
设置更高的值如80%是否更好?

我有这个疑问,因为在这个配置下,我看到pod扩展到最大数量,即使它们使用的cpu少于限制:

NAME                                  CPU(cores)   MEMORY(bytes)   
test-service-76f8b8c894-2f944            189m         283Mi           
test-service-76f8b8c894-2ztt6            183m         278Mi           
test-service-76f8b8c894-4htzg            117m         233Mi           
test-service-76f8b8c894-5hxhv            142m         193Mi           
test-service-76f8b8c894-6bzbj            140m         200Mi           
test-service-76f8b8c894-6sj5m            149m         261Mi    

使用的CPU数量小于服务定义中配置的请求。

此外,我看到这里也讨论过这个问题,但我没有得到答案。使用水平Pod自动伸缩以及资源请求和限制

是否妨碍我的服务达到极限(500m) ?

不,hpa没有阻止它(尽管resources.limits))。hpa所做的是当所有pod的平均cpu利用率超过所请求的的50%时启动新的副本。CPU资源,即125m以上。

通过设置更高的值(如80%)来配置是否更好?

不能说,这是特定于应用程序的

水平自动缩放在文档中有很好的描述。

相关内容

  • 没有找到相关文章

最新更新