Cloud Fortgeschritten
KEDA — Event-driven Autoscaling¶
KEDAKubernetesAutoscalingEvent-driven 6 Min. Lesezeit
Kubernetes Event-driven Autoscaler. Skalierung basierend auf Queues, Metriken und externen Quellen — bis auf null.
Was ist KEDA¶
KEDA erweitert Kubernetes um Event-driven Autoscaling. Im Gegensatz zu HPA kann es auf 0 Replicas skalieren und auf Dutzende von Quellen reagieren.
- Scale to Zero — keine unnötigen Kosten
- 60+ Scaler (Kafka, RabbitMQ, AWS SQS, Prometheus, Cron…)
- Funktioniert zusammen mit 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"
Zusammenfassung¶
KEDA ist ein Muss für event-driven Workloads in Kubernetes. Scale to Zero spart Kosten, 60+ Scaler decken praktisch jede Ereignisquelle ab.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.