Использование ЦП Kubernetes hpa
Я обнаружил, что что-то не так с HPA для шлюза istio.
Почему 10 м равнялись 10%? Разве 10 млн не 1%?
Версия Kubernetes - 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%
1 ответ
Решение
Эти значения не совпадают, и они не рассчитываются напрямую друг от друга.
Значение в процентах - это целевой средний коэффициент использования (соответствующий targetAverageUtilization
параметр), который относительно запрошенного значения.
Значение в скобках - это целевое среднее значение (targetAverageValue
), который не измеряется в процентах - это абсолютное сырое значение для метрики.