2

I found something wrong at HPA for istio gateway.

Why did 10m equal 10%? Wasn't 10m 1%?

Kubernetes version is 1.18.5.

# kubectl get hpa --all-namespaces
NAMESPACE      NAME                   REFERENCE                         TARGETS   MINPODS   MAXPODS   REPLICAS   AGE
istio-system   istio-egressgateway    Deployment/istio-egressgateway    7%/80%    2         10        2          13d
istio-system   istio-ingressgateway   Deployment/istio-ingressgateway   10%/80%   2         10        2          21d
istio-system   istiod                 Deployment/istiod                 0%/80%    1         5         1          21d
qa2            graph                  Deployment/graph                  2%/50%    1         10        1          7h35m
qa2            member                 Deployment/member                 0%/50%    1         10        1          7h38m
# kubectl describe hpa istio-ingressgateway -n istio-system | grep "resource cpu"
  resource cpu on pods  (as a percentage of request):  10% (10m) / 80%

# kubectl describe hpa istio-egressgateway -n istio-system | grep "resource cpu"
  resource cpu on pods  (as a percentage of request):  7% (7m) / 80%

# kubectl describe hpa istiod -n istio-system | grep "resource cpu"
  resource cpu on pods  (as a percentage of request):  0% (3m) / 80%

# kubectl describe hpa graph -n qa2 | grep "resource cpu"
  resource cpu on pods  (as a percentage of request):  2% (24m) / 50%

# kubectl describe hpa member -n qa2 | grep "resource cpu"
  resource cpu on pods  (as a percentage of request):  1% (12m) / 50%

honillusion
  • 145
  • 7

1 Answers1

3

These values are not the same, and they are not directly calculated from each other.

The value in percents is the target average utilization (corresponding to the targetAverageUtilization parameter), which is relative to the requested value.

The value in the brackets is the target average value (targetAverageValue), which is not measured in percents - this is an absolute raw value for the metric.

Forketyfork
  • 7,416
  • 1
  • 26
  • 33
  • I figured out your answer. Request for istio-ingressgateway is 100m so that 10m/100m is 10%. And request for member and graph is 1(1000m). – honillusion Jul 23 '20 at 10:28