Демон на Go, который собирает, агрегирует и экспортирует данные об использовании ресурсов и производительности контейнеров, а также предоставляет веб-интерфейс и REST API.
kubernetes-sigs/metrics-server
Масштабируемый источник метрик CPU и памяти контейнеров для автоскейлинга Kubernetes, доступный через Metrics API.
- Звёзды
- 6,763
- Форки
- 2,054
- Открытые issues
- 68
- Последний коммит
- 9 дней назад
Что это?
Metrics Server собирает метрики ресурсов с Kubelet и предоставляет их через apiserver Kubernetes с помощью Metrics API. Horizontal Pod Autoscaler и Vertical Pod Autoscaler используют эти данные для принятия решений о масштабировании, а kubectl top обращается к тому же API, чтобы показывать использование ресурсов подами и узлами.
Проект предназначен только для автоскейлинга, а не для общего мониторинга. Если нужно передавать данные в систему мониторинга, проект рекомендует напрямую собирать метрики с endpoint Kubelet /metrics/resource. Решение рассчитано на одно лёгкое развертывание: запросы ресурсов по умолчанию подходят для кластеров примерно до 100 узлов, а в документации есть рекомендации по масштабированию для более крупных кластеров.
В кластере должны быть включены слой агрегации apiserver и webhook-аутентификация и авторизация Kubelet. Также необходим сертификат Kubelet, подписанный CA кластера, либо явный флаг insecure-TLS. Установить проект можно с помощью YAML-манифеста или официального Helm chart; для многонодовых кластеров предусмотрен режим высокой доступности.
Ключевые возможности
- 01Каждые 15 секунд собирает данные об использовании CPU и памяти с Kubelet.
- 02Предоставляет метрики подов и узлов через стандартный Kubernetes Metrics API.
- 03Обеспечивает данными для решений Horizontal и Vertical Pod Autoscaler.
- 04Позволяет быстро проверять использование ресурсов с помощью kubectl top.
- 05Поддерживает режим высокой доступности с несколькими репликами.
- 06Позволяет настраивать типы адресов Kubelet и параметры TLS.
Сценарии использования
- Горизонтально масштабировать Deployments на основе загрузки CPU или памяти.
- Получать рекомендации по вертикальному подбору запросов ресурсов контейнеров.
- Разбираться в работе автоскейлинга с помощью kubectl top.
- Запускать лёгкий источник метрик в Kubernetes-кластерах среднего размера.
Быстрый старт
- 1
Установите последний релиз из манифеста components.yaml
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml - 2
Проверьте метрики с помощью kubectl top (немного подождав)
kubectl top pods
Что важно знать
- Требуется особая конфигурация кластера, например включённый aggregation layer и сертификаты kubelet, подписанные CA кластера.
- Решение предназначено только для автомасштабирования; в README указано, что его не следует использовать в качестве источника метрик для мониторинга.
- Запросы ресурсов по умолчанию рассчитаны примерно на 100 узлов; для более крупных кластеров потребуется больше ресурсов.
В подборках
Темы
Частые вопросы
- Что такое metrics-server?
- Масштабируемый источник метрик CPU и памяти контейнеров для автоскейлинга Kubernetes, доступный через Metrics API. Metrics Server собирает метрики ресурсов с Kubelet и предоставляет их через apiserver Kubernetes с помощью Metrics API. Horizontal Pod Autoscaler и Vertical Pod Autoscaler используют эти данные для принятия решений о масштабировании, а kubectl top обращается к тому же API, чтобы показывать использование ресурсов подами и узлами.
- metrics-server можно использовать бесплатно? Какая у него лицензия?
- metrics-server распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- metrics-server всё ещё поддерживается?
- Активно поддерживается. Последний коммит в metrics-server — 16 окт. 2026 г..
- Для чего можно использовать metrics-server?
- Горизонтально масштабировать Deployments на основе загрузки CPU или памяти. Получать рекомендации по вертикальному подбору запросов ресурсов контейнеров. Разбираться в работе автоскейлинга с помощью kubectl top. Запускать лёгкий источник метрик в Kubernetes-кластерах среднего размера.
- Как установить metrics-server?
- Установите последний релиз из манифеста components.yaml: kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml Проверьте метрики с помощью kubectl top (немного подождав): kubectl top pods
- Где скачать metrics-server?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kubernetes-sigs/metrics-server
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Open-source агент для мониторинга инфраструктуры в реальном времени: метрики каждую секунду, автообнаружение, встроенное ML-обнаружение аномалий и оповещения.
Дополнительный сервис Kubernetes, который отслеживает API server и предоставляет метрики Prometheus о состоянии объектов, таких как поды, деплойменты и узлы.
Дистрибутив OpenTelemetry Collector с программируемыми конвейерами на основе выражений для метрик, логов, трейсов и профилей, ориентированный на интеграцию с Prometheus.
Компоненты Kubernetes автоматически масштабируют узлы кластера и корректируют запросы подов на CPU и память.
Платформа с открытым исходным кодом для запросов, визуализации, оповещений и изучения метрик, логов и трейсов из множества источников данных.