Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Managed Service for Kubernetes
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Подключение к узлу по SSH
    • Обновление Kubernetes
    • Настройка автомасштабирования
    • Подключение к кластеру
      • Обзор способов подключения
      • Настройка групп безопасности
      • Создание статического файла конфигурации
    • Установка приложений из Cloud Marketplace
      • Основы работы с Cloud Marketplace
      • Установка Argo CD
      • Установка Container Storage Interface для S3
      • Установка Crossplane
      • Установка External Secrets Operator
      • Установка Falco
      • Установка Filebeat
      • Установка Fluent Bit
      • Установка Gateway API
      • Установка GitLab Agent
      • Установка GitLab Runner
      • Установка HashiCorp Vault
      • Установка Ingress-контроллера Application Load Balancer
      • Установка Jaeger
      • Установка Kyverno & Kyverno Policies
      • Установка Loki
      • Установка Metrics Provider
      • Установка NodeLocal DNS
      • Установка Policy Reporter
      • Установка Thumbor
    • Сетевые сценарии
      • Обеспечение доступа к приложению, запущенному в кластере Kubernetes
      • Настройка контроллера сетевых политик Calico
      • Настройка контроллера сетевых политик Cilium
      • Настройка NodeLocal DNS для контроллера сетевых политик Cilium
    • Работа с постоянными томами
      • Динамическая подготовка тома
      • Статическая подготовка тома
      • Управление классами хранилищ
      • Увеличение размера тома для подов
      • Увеличение размера тома для контроллера StatefulSet
      • Подключение тома в блочном режиме
      • Интеграция с Object Storage
    • Управление кластером Kubernetes
      • Получение информации о кластере Kubernetes
      • Создание кластера Kubernetes
      • Изменение кластера Kubernetes
      • Создание пространства имен в кластере Kubernetes
      • Удаление кластера Kubernetes
    • Управление группой узлов
      • Информация об имеющихся группах узлов
      • Создание группы узлов
      • Подключение к узлу по SSH
      • Настройка автомасштабирования
      • Изменение группы узлов
      • Управление метками узлов кластера Kubernetes
      • Удаление группы узлов
    • Подключение внешних узлов к кластеру
  • Практические руководства
    • Все руководства
    • Создание нового Kubernetes-проекта в Yandex Cloud
    • Интеграция с Container Registry
    • Подпись и проверка Docker-образов Container Registry
    • Сканирование уязвимостей Container Registry при непрерывном развертывании приложений с помощью GitLab
    • Запуск рабочих нагрузок с GPU
    • Установка Ingress-контроллера NGINX с Let's Encrypt®
    • Установка Ingress-контроллера NGINX с сертификатом из Certificate Manager
    • Резервное копирование в Object Storage
    • Горизонтальное масштабирование приложения в кластере
    • Вертикальное масштабирование приложения в кластере
    • Развертывание и нагрузочное тестирование gRPC-сервиса с масштабированием
    • Работа со снапшотами
    • Интеграция с корпоративной зоной DNS
    • Автоматическое масштабирование DNS по размеру кластера
    • Настройка локального кеширования DNS
    • Проверка DNS Challenge для сертификатов Let's Encrypt®
    • Мониторинг кластера с помощью Prometheus и Grafana
    • Непрерывное развертывание контейнеризованных приложений с помощью GitLab
    • Изменение параметров сервера метрик (Metrics Server)
    • Использование продуктов Cloud Marketplace
      • Интеграция с Argo CD
      • Интеграция с Crossplane
      • Синхронизация с секретами Yandex Lockbox
      • Настройка Fluent Bit для работы с Cloud Logging
      • Настройка Gateway API
      • Настройка Application Load Balancer Ingress-контроллера
      • Использование Jaeger для трассировки запросов в Managed Service for YDB
      • Настройка Kyverno & Kyverno Policies
      • Использование Metrics Provider для трансляции метрик
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Релизные каналы и обновления
    • Шифрование секретов
    • Использование объектов API Kubernetes
      • Том
      • Сервис
    • Группа узлов
      • Автоматическое масштабирование группы узлов
      • Расселение подов с узла
      • Динамическое резервирование ресурсов для узла
      • Группы узлов с GPU
    • Сеть в Managed Service for Kubernetes
    • Внешние узлы кластера
    • Сетевые настройки и политики кластера
    • Автоматическое масштабирование
    • Квоты и лимиты
    • Рекомендации по использованию Managed Service for Kubernetes
  • Управление доступом
  • Правила тарификации
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • ClusterService
      • NodeGroupService
      • VersionService
      • OperationService
    • REST (англ.)
      • Overview
      • Cluster
        • Overview
        • create
        • delete
        • get
        • list
        • listNodeGroups
        • listNodes
        • listOperations
        • start
        • stop
        • update
      • NodeGroup
        • Overview
        • create
        • delete
        • get
        • list
        • listNodes
        • listOperations
        • update
      • Version
        • Overview
        • list
  • Вопросы и ответы
    • Общие вопросы
    • Хранилище данных
    • Настройка и обновление
    • Автоматическое масштабирование
    • Ресурсы
    • Логи
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Установка приложений из Cloud Marketplace
  3. Установка Metrics Provider

Установка Metrics Provider

Статья создана
Yandex Cloud
  • Создание сервисного аккаунта и статического ключа доступа
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Примеры использования

Metrics Provider — связующий элемент между объектом в кластере Managed Service for Kubernetes и сервисом Yandex Monitoring.

Провайдер преобразует запрос на получение внешних метрик от объекта в кластере Kubernetes в нужный Yandex Monitoring формат, а также выполняет обратное преобразование — от Yandex Monitoring до объекта кластера.

Создание сервисного аккаунта и статического ключа доступа

Для работы провайдера нужно создать сервисный аккаунт и получить для него ключ.

  1. Установите утилиту потоковой обработки JSON-файлов jq:

    sudo apt update && sudo apt install jq
    
  2. Создайте сервисный аккаунт с ролью monitoring.viewer.

  3. Создайте ключ для сервисного аккаунта и сохраните его на локальный компьютер:

    yc iam key create \
      --service-account-id <идентификатор сервисного аккаунта> \
      --folder-id <идентификатор каталога> \
      --cloud-id <идентификатор облака> \
      --description metrics-provider \
      --format json \
      -o key.json
    

    Результат:

    {
      "id": "<идентификатор ключа сервисного аккаунта>",
      "service_account_id": "<идентификатор сервисного аккаунта>",
      "created_at": "2022-01-27T03:29:45.139311367Z",
      "description": "metrics-provider",
      "key_algorithm": "RSA_2048"
    }
    

    Примечание

    Сохраните идентификаторы сервисного аккаунта и его ключа — они понадобятся при дальнейшей установке.

  4. Сохраните ключ сервисного аккаунта в формате Base64:

    jq -r .private_key key.json > key.pem
    

Установка с помощью Yandex Cloud Marketplace

  1. Перейдите на страницу каталога и выберите сервис Managed Service for Kubernetes.
  2. Нажмите на имя нужного кластера и выберите вкладку Marketplace.
  3. В разделе Доступные для установки приложения выберите Metrics Provider и нажмите кнопку Использовать.
  4. Задайте настройки приложения:
    • Пространство имен — выберите пространство имен или создайте новое.

    • Название приложения — укажите название приложения.

    • Идентификатор каталога — укажите идентификатор каталога, в котором будет работать Metrics Provider.

    • Ширина временного окна — укажите ширину временного окна, за которую будут собираться метрики (в формате DdHhMmSs, например, 5d10h30m20s).

    • (опционально) Отключение прореживания — выберите эту опцию, чтобы не применять к данным функцию прореживания.

    • (опционально) Функция агрегации — выберите функцию агрегации данных. Значение по умолчанию — AVG.

    • (опционально) Заполнение данных — выберите настройки заполнения пропусков в данных:

      • NULL — возвращает null в качестве значения метрики и timestamp в качестве временной метки. Значение по умолчанию.
      • NONE — не возвращает значений.
      • PREVIOUS — возвращает значение из предыдущей точки.
    • (опционально) Максимальное количество точек — укажите максимальное количество точек, которое будет получено в ответе на запрос. Значение параметра должно быть больше 10.

    • (опционально) Ширина временного окна прореживания — укажите ширину временного окна (сетки) в миллисекундах. Используется для прореживания: точки внутри окна объединяются в одну при помощи функции агрегации. Значение параметра должно быть больше 0.

      Примечание

      Выберите только одну из настроек Максимальное количество точек или Ширина временного окна прореживания. Чтобы не использовать эти настройки, оставьте оба поля пустыми. Подробнее см. в документации API.

    • ID сервисного аккаунта — укажите идентификатор созданного ранее сервисного аккаунта.

    • ID ключа сервисного аккаунта — укажите идентификатор ключа сервисного аккаунта.

    • Приватный ключ сервисного аккаунта — скопируйте в это поле содержимое файла key.pem.

  5. Нажмите кнопку Установить.

Установка с помощью Helm-чарта

  1. Установите менеджер пакетов Helm версии не ниже 3.7.0.

  2. Установите kubectl и настройте его на работу с созданным кластером.

  3. Добавьте репозиторий metric-provider:

    export HELM_EXPERIMENTAL_OCI=1 && \
    cat sa-key.json | helm registry login cr.yandex --username 'json_key' --password-stdin && \
    helm pull oci://cr.yandex/yc-marketplace/yandex-cloud/marketplace/metric-provider \
      --version=<версия Helm-чарта> \
      --untar
    

    Актуальную версию Helm-чарта можно посмотреть на странице приложения.

  4. Настройте и установите Metrics Provider:

    helm install \
      --namespace <пространство имен> \
      --create-namespace \
      --set folderId=<идентификатор каталога> \
      --set window=<ширина временного окна> \
      --set-file saKeySecretKey=key.json \
      --set gridAggregation=<функция агрегации> \
      --set gapFilling=<заполнение данных> \
      --set maxPoints=<максимальное количество точек> \
      --set gridInterval=<ширина временного окна прореживания> \
      --set disabled=<true или false> \
      metric-provider ./metric-provider/
    

    Обязательные параметры:

    • namespace — пространство имен, где будет развернут провайдер.
    • folderId — идентификатор каталога, в котором будет работать провайдер.
    • window — ширина временного окна, за которую будут собираться метрики (в формате DdHhMmSs, например 5d10h30m20s).

    Параметры прореживания (downsampling). Для работы провайдера нужно выбрать хотя бы один из параметров:

    • gridAggregation — функция агрегации данных. Значение по умолчанию — AVG.

    • gapFilling — настройки заполнения пропусков в данных:

      • NULL — возвращает null в качестве значения метрики и timestamp в качестве временной метки.
      • NONE — не возвращает значений.
      • PREVIOUS — возвращает значение из предыдущей точки.
    • maxPoints — максимальное количество точек, которое будет получено в ответе на запрос. Значение параметра должно быть больше 10.

    • gridInterval — ширину временного окна (сетки) в миллисекундах. Используется для прореживания: точки внутри окна объединяются в одну при помощи функции агрегации. Значение параметра должно быть больше 0.

    • disabled — отключение прореживания данных.

      Примечание

      Используйте только один из параметров maxPoints, gridInterval или disabled. Подробнее о параметрах прореживания см. в документации API.

Примеры использования

  • Metrics Provider для автомасштабирования Managed Service for Kubernetes.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Создание сервисного аккаунта и статического ключа доступа
  • Установка с помощью Yandex Cloud Marketplace
  • Установка с помощью Helm-чарта
  • Примеры использования