KEDA с поддержкой Yandex Monitoring

Обновлено 13 ноября 2025 г.

Данный продукт содержит внешний скейлер KEDA, который интегрирует автомасштабирование Kubernetes с Yandex Cloud Monitoring. Скейлер позволяет масштабировать Kubernetes приложения на основе метрик из Yandex Monitoring, например: метрик Application Load Balancer или Managed Database. Скейлер поддерживает функционал настройки временных окон, агрегирования и обработки NaN-значений.

Инструкция по развертыванию
  1. Создайте сервисный аккаунт, необходимый для работы KEDA External Scaler.

  2. Назначьте сервисному аккаунту роль monitoring.viewer.

  3. Задайте настройки KEDA:

    • Пространство имен — создайте новое пространство имен (например, keda-system).
    • Название приложения — укажите название приложения.
    • Ключ сервисного аккаунта — вставьте содержимое существующего файла key.json или создайте новый.
  4. Нажмите кнопку Установить.

  5. Дождитесь перехода приложения в статус Deployed.

  6. Создайте ресурс `ScaledObject.

Пример ScaledObject:
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: my-yandex-scaler
spec:
  scaleTargetRef:
    name: my-app
  pollingInterval: 30  # seconds
  cooldownPeriod: 300
  minReplicaCount: 1
  maxReplicaCount: 10
  triggers:
  - type: external
    metadata:
      # Убедитесь, что указан верный namespace
      scalerAddress: keda-external-scaler-yc.keda-system.svc.cluster.local:8080
      
      # Запрос из Yandex Monitoring
      query: |
        alias(replace_nan(series_sum("load_balancer.requests_count_per_second"{service="application-load-balancer", load_balancer="xxx", http_router="*", virtual_host="*", route="route-xxx", backend_group="*", backend="*", zone="*", code="total"}), 0), "Total requests count")
      # Каталог, где необходимо искать метрики
      folderId: "xxxxxxxxxxxxxxx"
      # Целевое значение
      targetValue: "100"  # Масштабируем, если RPS > 100

      # Параметры Downsampling из Yandex Monitoring
      downsampling.gridAggregation: "AVG"   # `MAX`, `MIN`, `SUM`, `AVG`, `LAST`, `COUNT`
      downsampling.gridInterval: "120000"   # Integer > 0 (mutually exclusive)
      # downsampling.maxPoints: 20          # Integer >= 10 (mutually exclusive)
      # downsampling.disabled: true         # `true`, `false` (mutually exclusive)
      # downsampling.gapFilling: "NONE"     # `NULL`, `NONE`, `PREVIOUS`
      
      # Опции на стороне скейлера (не рекомендуется, лучше получать метрики в нужном виде из Yandex Monitoring)
      nanStrategy: "error"                  # `skip`, `zero`, `error`, `lastValid` (default `error`)
      aggregationMethod: "max"              # `sum`, `avg`, `max`, `min`, `last` (default `max`)
      timeSeriesAggregation: "avg"          # `sum`, `avg`, `max`, `min`, `last` (default None)

      # Временное окно
      timeWindow: "2m"  # Query last 2 minutes (default 5m)
      timeWindowOffset: "30s" # Offset the time windows to 30 seconds back (to remove trailing zeros) (default 30s)
      
      # Logging configuration
      logLevel: "debug"  # `debug`, `info`, `warn", `error", `none` (default `info`)
      logMetrics: "true"  # Log raw metric responses (default `false`)
      logAggregation: "true"  # Log aggregation details (default `false`)
Тип тарификации
Free
Тип
Приложение Kubernetes®
Категория
Администрирование и DevOps
Издатель
ТОО «Яндекс.Облако Казахстан»
Примеры использования
  • Автоматическое масштабирование приложений в Kubernetes на базе метрик Yandex Monitoring
Техническая поддержка

Служба технической поддержки Yandex Cloud отвечает на запросы 24 часа в сутки, 7 дней в неделю. Доступные виды запросов и срок их обработки зависят от тарифного плана. Подключить платную поддержку можно в консоли управления. Подробнее о порядке оказания технической поддержки.

Состав продукта
Helm-чартВерсия
Pull-команда
Документация
cr.yandexcloud.kz/yc-marketplace/yandex-cloud/keda/chart/keda-external-scaler-yc1.1.3Открыть
Docker-образВерсия
Pull-команда
cr.yandexcloud.kz/yc-marketplace/yandex-cloud/keda/keda-external-scaler-yc1763061415439676371315616708120497290432740585027v1.2.19
Лицензионное соглашение
Используя данный продукт, вы соглашаетесь с Условиями использования Yandex Cloud Marketplace и с условиями использования следующих продуктов: Лицензия KEDA
Тип тарификации
Free
Тип
Приложение Kubernetes®
Категория
Администрирование и DevOps
Издатель
ТОО «Яндекс.Облако Казахстан»