Горизонтальное автоматическое масштабирование не сообщает об использовании ЦП

Я пытаюсь протестировать Kubernetes HPA, как в примере здесь < / а>

kubectl run php-apache --image=gcr.io/google_containers/hpa-example --requests=cpu=200m --expose --port=80
kubectl autoscale deployment php-apache --cpu-percent=20 --min=1 --max=10
kubectl get hpa

выход

NAME         REFERENCE               TARGETS           MINPODS   MAXPODS   REPLICAS   AGE
php-apache   Deployment/php-apache   <unknown> / 20%   1         3         0          1h

Почему диспетчер-контроллер не может получить текущее использование?


Сведения о среде:

  • K8s версии 1.7.3 с запущенным Heapster со службой на 80-м порту в системе kube.
  • InfluxDB настроен как приемник, и я могу правильно видеть использование / ограничение и т. Д. В Grafana, а также в Heapster API
  • Я вижу запросы процессора (200 м) на yaml развернутого модуля.
  • В журналах диспетчера контроллеров ошибок нет. Все, что я вижу, - это сообщения etcd watch и создания пода.
  • В манифесте контроллера не указан "горизонтальный-pod-autoscaler-sync-period", по умолчанию должно быть 30 секунд.
  • «hpa describe» не перечисляет никаких событий («‹none›»).
  • Создание / удаление HPA не создает никакого журнала в диспетчере-контроллере
  • Когда у меня не установлен Heapster, журналы диспетчера контроллеров будут жаловаться. Я не вижу этого сообщения при установленном Heapster: "

не удалось вычислить желаемое количество реплик на основе перечисленных метрик для Deployment / xx / php-apache: не удалось получить использование процессора: невозможно получить метрики для процессора ресурсов: не удалось получить метрики ресурсов модуля: сервер не может завершить запрошенную операцию на этом время, попробуйте позже (получить услуги http: heapster :)


Редактировать 1 [14 сентября]:

  • Я загрузил здесь журналы Heapster. Никаких ошибок нет.
  • Я напрямую проверил Heapster API на наличие показателей и получил ответ.

    curl http://10.107.55.59/api/v1/model/namespaces/cp/pods/php-apache-593471247-c65fh/metrics/cpu/usage

{ "metrics": [ { "timestamp": "2017-09-14T13:46:00Z", "value": 19008838 }, { "timestamp": "2017-09-14T13:47:00Z", "value": 19008838 }, { "timestamp": "2017-09-14T13:48:00Z", "value": 19008838 } ], "latestTimestamp": "2017-09-14T13:48:00Z" }

Снимок экрана Grafana для модуля. Предел не установлен, но это тоже не имеет значения.


person Paddy    schedule 13.09.2017    source источник


Ответы (1)


Убедитесь, что heapster получает данные и выдает метрику, попробуйте запустить ниже на сервере kube-api, замените в нем namespace-name и pod-name. он покажет метрику, если все в порядке, также вставьте сюда журнал кучи

curl http://localhost:8080/api/v1/model/namespaces/ {namespace-name} / pods / {pod-name} / metrics /

person Pawan Kumar    schedule 14.09.2017