Нативный планировщик Kubernetes может распределять контейнеры только по заявленным ресурсам, что легко приводит к ряду проблем с неравномерной нагрузкой:
Чтобы решить эти проблемы, Динамический планировщик строит простую, но эффективную модель на основе данных использования узлов, и фильтрует узлы с высокой нагрузкой для балансировки кластера.
Как показано выше, Динамический планировщик использует Prometheus
и Node-exporter
для сбора и агрегации метрик, и состоит из двух компонентов:
Node-annotator
периодически получает данные из Prometheus и помечает их временной меткой в виде аннотаций на узле.Примечание:
Node-annotator
в настоящее время является модулемCrane-scheduler-controller
.
Динамический плагин
читает данные нагрузки напрямую из аннотаций узла, фильтрует и оценивает кандидатов на основе простого алгоритма.### Политика планировщика
Динамический планировщик предоставляет по умолчанию политику планировщика и поддерживает пользовательски-определенные политики. По умолчанию политика основана на следующих метриках:cpu_usage_avg_5m
cpu_usage_max_avg_1h
cpu_usage_max_avg_1d
mem_usage_avg_5m
mem_usage_max_avg_1h
mem_usage_max_avg_1d
На этапе фильтрации (Filter
) узел будет исключен, если фактический уровень использования этого узла превышает порог любых из указанных метрик. На этапе оценки (Score
) окончательная оценка представляет собой взвешенную сумму этих метрик.
В производственном кластере могут часто возникать горячие точки планирования, так как нагрузка узлов не увеличивается сразу после создания контейнера. Поэтому мы определили дополнительную метрику под названием Грейтчмаркер
, которая представляет частоту распределения контейнеров на узле за последнее время. И окончательный приоритет узла равен его окончательной оценке минус Грейтчмаркер
.
Здесь замечено, что термин "Грейтчмаркер" может быть ошибкой или специфическим термином, который требует уточнения. Однако, поскольку нет дополнительного контекста, было решено оставить этот термин без изменения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )