首页 > 解决方案 > 使用 Horizo​​ntal Pod Autoscaling 以及资源请求和限制

问题描述

假设我们有以下部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  ...
spec:
  replicas: 2
  template:
    spec:
      containers:
        - image: ...
          ...
          resources:
            requests:
              cpu: 100m
              memory: 50Mi
            limits:
              cpu: 500m
              memory: 300Mi

我们还创建了一个HorizontalPodAutoscaler对象,它会根据 CPU 平均利用率自动增加/减少 pod 的数量。我知道 HPA 会根据资源请求计算 pod 的数量,但是如果我希望容器能够在水平扩展之前请求更多资源怎么办?

我有两个问题:

1)在定义 HPA 时,K8s 是否使用了资源限制?

2) 我可以告诉 HPA 根据资源限制而不是请求进行扩展吗?或者作为实现这种控制的一种手段,我可targetUtilization​​以将值设置为 100% 以上吗?

标签: kuberneteshorizontal-scaling

解决方案


不,HPA 根本不考虑限制。您可以将目标利用率指定为任何甚至高于 100% 的值。


推荐阅读