Установка Metrics Provider
Metrics Provider транслирует метрики объектов кластера Managed Service for Kubernetes в системы мониторинга и системы автоматического масштабирования. Метрики можно транслировать и в обратную сторону: например, объекты кластера могут получать метрики сервиса Yandex Monitoring.
Провайдер преобразует запрос на получение внешних метрик от объекта кластера Managed Service for Kubernetes в нужный Monitoring формат, а также выполняет обратное преобразование — от Monitoring до объекта кластера.
Перед началом работы
-
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду
yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров--folder-nameили--folder-id. -
Создайте сервисный аккаунт с ролью
monitoring.viewer. -
Создайте авторизованный ключ доступа для сервисного аккаунта в формате JSON и сохраните его в файл
sa-key.json:yc iam key create \ --service-account-name=<имя_сервисного_аккаунта> \ --output=sa-key.json -
Убедитесь, что группы безопасности для кластера Managed Service for Kubernetes и его групп узлов настроены корректно. Если отсутствует какое-либо из правил — добавьте его.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
Установка с помощью Yandex Cloud Marketplace
- Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
- Нажмите на имя нужного кластера Managed Service for Kubernetes и выберите вкладку Marketplace.
- В разделе Доступные для установки приложения выберите Metrics Provider и нажмите кнопку Перейти к установке.
- Задайте настройки приложения:
-
Пространство имен — создайте новое пространство имен (например,
metrics-provider-space). Если вы оставите пространство имен по умолчанию, Metrics Provider может работать некорректно. -
Название приложения — укажите название приложения.
-
Идентификатор каталога — укажите идентификатор каталога, в котором будет работать Metrics Provider.
-
Ширина временного окна — укажите ширину временного окна, за которую будут собираться метрики (в формате
DdHhMmSs, например,5d10h30m20s). -
(Опционально) Отключение прореживания — выберите эту опцию, чтобы не применять к данным функцию прореживания.
-
(Опционально) Функция агрегации — выберите функцию агрегации данных. Значение по умолчанию —
AVG. -
(Опционально) Заполнение данных — выберите настройки заполнения пропусков в данных:
NULL— возвращаетnullв качестве значения метрики иtimestampв качестве временной метки. Значение по умолчанию.NONE— не возвращает значений.PREVIOUS— возвращает значение из предыдущей точки.
-
(Опционально) Максимальное количество точек — укажите максимальное количество точек, которое будет получено в ответе на запрос. Значение параметра должно быть больше
10. -
(Опционально) Ширина временного окна прореживания — укажите ширину временного окна (сетки) в миллисекундах. Используется для прореживания: точки внутри окна объединяются в одну при помощи функции агрегации. Значение параметра должно быть больше
0.Примечание
Выберите только одну из настроек Максимальное количество точек или Ширина временного окна прореживания. Чтобы не использовать эти настройки, оставьте оба поля пустыми. Подробнее см. в документации API.
-
Secret Key — скопируйте содержимое файла
sa-key.jsonили создайте новый ключ доступа для сервисного аккаунта. Сервисный аккаунт должен иметь рольmonitoring.viewer.
-
- Нажмите кнопку Установить.
- Дождитесь перехода приложения в статус
Deployed.
Установка с помощью Helm-чарта
-
Установите менеджер пакетов Helm
версии не ниже 3.8.0. -
Установите kubectl
и настройте его на работу с созданным кластером. -
Добавьте репозиторий
metric-provider:cat sa-key.json | helm registry login cr.yandexcloud.kz --username 'json_key' --password-stdin && \ helm pull oci://cr.yandexcloud.kz/yc-marketplace/yandex-cloud/marketplace/metric-provider/helm-chart/metric-provider \ --version 0.1.11 \ --untarЕсли вы укажете в параметре
namespaceпространство имен по умолчанию, Metrics Provider может работать некорректно. Рекомендуем указывать значение, отличное от всех существующих пространств имен (например,metrics-provider-space).Примечание
Если вы используете версию Helm ниже 3.8.0, добавьте в начало команды строку
export HELM_EXPERIMENTAL_OCI=1 && \, чтобы включить поддержку Open Container Initiative (OCI) в клиенте Helm. -
Настройте и установите Metrics Provider:
helm install \ --namespace <пространство_имен> \ --create-namespace \ --set yandexMetrics.folderId=<идентификатор_каталога> \ --set window=<ширина_временного_окна> \ --set-file yandexMetrics.token.serviceAccountJson=<путь_к_файлу_с_авторизованным_ключом_сервисного_аккаунта> \ --set yandexMetrics.downsampling.gridAggregation=<функция_агрегации> \ --set yandexMetrics.downsampling.gapFilling=<заполнение_данных> \ --set yandexMetrics.downsampling.maxPoints=<максимальное_количество_точек> \ --set yandexMetrics.downsampling.gridInterval=<ширина_временного_окна_прореживания> \ --set yandexMetrics.downsampling.disabled=<режим_прореживания_данных> \ metric-provider ./metric-provider/Обязательные параметры:
--namespace— пространство имен, где будет развернут провайдер.yandexMetrics.folderId— идентификатор каталога, в котором будет работать провайдер.window— ширина временного окна, за которую будут собираться метрики (в форматеDdHhMmSs, например5d10h30m20s).yandexMetrics.token.serviceAccountJson— путь к файлу с авторизованным ключом сервисного аккаунта с рольюmonitoring.viewer.
Параметры прореживания (
downsampling). Для работы провайдера нужно выбрать хотя бы один из параметров:-
yandexMetrics.downsampling.gridAggregation— функция агрегации данных. Значение по умолчанию —AVG. -
yandexMetrics.downsampling.gapFilling— настройки заполнения пропусков в данных:NULL— возвращаетnullв качестве значения метрики иtimestampв качестве временной метки.NONE— не возвращает значений.PREVIOUS— возвращает значение из предыдущей точки.
-
yandexMetrics.downsampling.maxPoints— максимальное количество точек, которое будет получено в ответе на запрос. Значение параметра должно быть больше10. -
yandexMetrics.downsampling.gridInterval— ширину временного окна (сетки) в миллисекундах. Используется для прореживания: точки внутри окна объединяются в одну при помощи функции агрегации. Значение параметра должно быть больше0. -
yandexMetrics.downsampling.disabled— отключение прореживания данных. Возможные значения:trueилиfalse.Примечание
Используйте только один из параметров
yandexMetrics.downsampling.maxPoints,yandexMetrics.downsampling.gridIntervalилиyandexMetrics.downsampling.disabled. Подробнее о параметрах прореживания см. в документации API.