Горизонтальный масштабатор модулей k8s Использование не работает, но значение / среднее значение работает

Чего я пытаюсь достичь?

Пытаюсь установить горизонтальный скейлер для одного из наших сервисов в экс, перед которым стоит ALB. Я использовал контроллер входящего трафика ALB и входной поток, чтобы развернуть балансировщик нагрузки. Влияет ли это на получение показателей?

Что НЕ работает?

Когда я использую значения использования процессора / памяти в метрике для масштабирования, метрику использования невозможно найти.

metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 50

Что работает?

Но если я использую value / AverageValue процессора (например, 200 м и т. Д.), Он сможет получить метрику и работать должным образом.

 metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: AverageValue
          averageValue: 500m

Что я пробовал?

Сервер метрик в кубе-системе.

ИМЯ ГОТОВА АКТУАЛЬНО ДОСТУПНО ВОЗРАСТ metrics-server 1/1 1 1 11ч.

Взлом, который я использовал, чтобы избежать проблем с доступом

- --kubelet-insecure-tls
- --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname

Развертывание службы с запросами ресурсов

        resources:
        requests:
          memory: "64Mi"
          cpu: "250m"
        limits:
          memory: "128Mi"
          cpu: "500m"

С указанными выше компонентами я могу получать метрики узлов, модулей и т. Д. Без каких-либо ошибок.

kubectl top pods
NAME                                                              CPU(cores)   MEMORY(bytes)   
xxxxxxxxxxxxxxx                                                   5m           161Mi           
xxxxxxxxxxxxxxx                                                   3m           132Mi           
xxxxxxxxxxxxxxx                                                   4m           149Mi  

Я не получаю здесь и проценты, если предположить, что мы не получим их здесь.

Я включил уровень журнала v = 4 для сервера метрик и не увидел никаких проблем.

 kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T19:18:23Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.9-eks-4c6976", GitCommit:"4c6976793196d70bc5cd29d56ce5440c9473648e", GitTreeState:"clean", BuildDate:"2020-07-17T18:46:04Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

Сообщение об ошибке, которое я вижу,

Name:                                                  xxxxxxx
Namespace:                                             xxxxxxx
Labels:                                                app=xxxxxxx
Annotations:                                           <none>
CreationTimestamp:                                     Tue, 29 Sep 2020 21:09:58 -0400
Reference:                                             Deployment/xxxxxxxx
Metrics:                                               ( current / target )
  resource cpu on pods  (as a percentage of request):  <unknown> / 50%
Min replicas:                                          2
Max replicas:                                          8
Deployment pods:                                       2 current / 0 desired
Conditions:
  Type           Status  Reason                   Message
  ----           ------  ------                   -------
  AbleToScale    True    SucceededGetScale        the HPA controller was able to get the target's current scale
  ScalingActive  False   FailedGetResourceMetric  the HPA was unable to compute the replica count: missing request for cpu
Events:
  Type     Reason                        Age                     From                       Message
  ----     ------                        ----                    ----                       -------
  Warning  FailedGetResourceMetric       5m37s (x320 over 100m)  horizontal-pod-autoscaler  missing request for cpu
  Warning  FailedComputeMetricsReplicas  37s (x340 over 100m)    horizontal-pod-autoscaler  invalid metrics (1 invalid out of 1), first error is: failed to get cpu utilization: missing request for cpu

Поскольку я могу масштабировать его, используя Value / AverageValue, но не Utilization, меня смущает, я что-то здесь упускаю?


person VSK    schedule 01.10.2020    source источник


Ответы (1)


Следуйте руководству из документации AWS для HPA. конфигурация.

Похоже, у вас точно такая же ошибка, что и в примере на шаге #3.

person Piotr Malec    schedule 02.10.2020
comment
Верно, но они не представили никаких предложений / решений по этому поводу. - person VSK; 02.10.2020
comment
Я попытался добавить нагрузку в соответствии с документом, он все еще говорит, что неизвестно. - person VSK; 05.10.2020