我在Kubernetes中有一个部署,它利用了HorizontalPodAutoscaler。CPU和内存的averageUtilization的建议或典型设置是什么?我在每个pod中运行了一个FastAPI和React镜像,想知道你们在生产环境中对averageUtilization设置有什么经验。
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: ***
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: ***
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 70
我当前的CPU和内存阈值设置为70%。
1条答案
按热度按时间6jygbczu1#
如果您的pod上没有突然的请求,70%是一个不错的数字。因为额外的吊舱准备好也可能需要时间,并且在按比例放大的吊舱准备好之前,现有的吊舱可能被完全利用。
当设置为50时,它将在FastAPI和React映像上突然爆发请求的情况下更快地扩展。
一旦按比例放大的pod准备就绪,HPA将在所有pod中保持所需百分比(50%或70%)的平均CPU/内存利用率。