Kubernetes - HPA指标-内存和CPU组合

vvppvyoh  于 2022-11-02  发布在  Kubernetes
关注(0)|答案(2)|浏览(172)

有没有可能保持'cpu'和'memory'指标在一起,如下所示?这似乎是行不通的。我尝试下面的脚本作为HPA。但坚持pod已增长到5。这不是我所期望的。

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: myservice-metrics
  namespace: myschema
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myservice
  minReplicas: 1
  maxReplicas: 5
  metrics:
  - type: Resource
    resource:
      name: memory
      targetAverageValue: 500Mi
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 70

如果我把它单独保存,它就不是抱怨了。为一个服务设置两个度量是最好的实践吗?有没有其他方法可以同时设置两个度量。

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: myservice-metrics-memory
  namespace: myschema
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myservice
  minReplicas: 1
  maxReplicas: 3
  metrics:
  - type: Resource
    resource:
      name: memory
      targetAverageValue: 500Mi

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: myservice-metrics-cpu
  namespace: myschema
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: myservice
  minReplicas: 1
  maxReplicas: 3
  metrics:
  - type: Resource
    resource:
      name: cpu
      targetAverageUtilization: 70
q3aa0525

q3aa05251#

从Kubernetes v1.6开始,已经添加了基于多个指标的扩展支持。我建议尝试切换到autoscaling/v2beta2 API。
https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-multiple-metrics

qhhrdooz

qhhrdooz2#

https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/horizontal-pod-autoscaler-v2beta2/
metrics的类型为[]MetricSpec,并且
将使用所有度量的最大副本计数
可以使用单个文件。

相关问题