Přeskočit na obsah
_CORE
Cloud Pokročilý

KEDA — Event-driven Autoscaling

KEDAKubernetesAutoscalingEvent-driven
6 min čtení

Kubernetes Event-driven Autoscaler. Škálování na základě front, metrik a externích zdrojů — až na nulu.

Co je KEDA

KEDA rozšiřuje Kubernetes o event-driven autoscaling. Na rozdíl od HPA umí škálovat na 0 replik a reagovat na desítky zdrojů.

  • Scale to zero — žádné zbytečné náklady
  • 60+ scalerů (Kafka, RabbitMQ, AWS SQS, Prometheus, Cron...)
  • Funguje společně s HPA

ScaledObject — RabbitMQ

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: order-processor
spec:
  scaleTargetRef:
    name: order-processor
  pollingInterval: 15
  cooldownPeriod: 60
  minReplicaCount: 0
  maxReplicaCount: 50
  triggers:
    - type: rabbitmq
      metadata:
        host: amqp://user:[email protected]:5672
        queueName: orders
        queueLength: "10"

Prometheus Trigger

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: api-scaler
spec:
  scaleTargetRef:
    name: api-server
  triggers:
    - type: prometheus
      metadata:
        serverAddress: http://prometheus.monitoring:9090
        metricName: http_requests_per_second
        query: sum(rate(http_requests_total{service="api"}[2m]))
        threshold: "100"

Cron Trigger

triggers:
  - type: cron
    metadata:
      timezone: Europe/Prague
      start: 0 8 * * 1-5
      end: 0 20 * * 1-5
      desiredReplicas: "10"

Shrnutí

KEDA je must-have pro event-driven workloady v Kubernetes. Scale to zero šetří náklady, 60+ scalerů pokrývá prakticky libovolný zdroj událostí.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace