Unable to fetch metrics from custom metrics API

5/3/2021

I am using prometheus kubernetes adapter to scale up application. I have service nginx running at port 8080 displaying metric requests. I use hpa.yaml as follows:

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: nginx-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx
  minReplicas: 1
  maxReplicas: 10
  metrics:
 - type: Pods
    pods:
      metricName: requests
      targetAverageValue: 10

This is working... But I want to scale up different deployment using requests as metric so I change my hpa to

apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
  name: nginx-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: nginx2
  minReplicas: 1
  maxReplicas: 10
  metrics:
    - type: Object
      object:
        target:
          kind: Service
          name: nginx
        metricName: requests
        targetValue: 10

But it is giving error as " invalid metrics (1 invalid out of 1), first error is: failed to get pods metric value: unable to get metric requests: no metrics returned from custom metrics API" "the HPA was unable to compute the replica count: unable to get metric requests: no metrics returned from custom metrics API"

So I can not scale up other application base on nginx. I want to use nginx service to scale up other deployments.

Any Suggestions... Where I am going wrong?

-- S317
kubernetes

0 Answers