Kubernetes-HPA指标-内存和CPU在一起

时间:2019-12-09 07:47:07

标签: kubernetes

是否可以将“ cpu”和“ memory”指标保持在一起,如下所示?这似乎不起作用。我尝试使用HPA作为脚本。但是吊舱不经意间已经增长到了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

1 个答案:

答案 0 :(得分:1)

从Kubernetes v1.6开始,添加了对基于多个指标进行扩展的支持。 我建议尝试切换到autoscaling/v2beta2 API。

https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-multiple-metrics