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:pass@rabbitmq.default: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.