概览与核心价值KEDA 通过事件源驱动扩缩容,适合异步处理与突发流量场景。本文以队列长度与 Prometheus 指标为例,验证扩缩容行为与稳定性参数。ScaledObject 示例(RabbitMQ 队列长度)apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: worker-scaledobject
spec:
scaleTargetRef:
name: worker
minReplicaCount: 1
maxReplicaCount: 20
cooldownPeriod: 300
pollingInterval: 30
triggers:
- type: rabbitmq
metadata:
queueName: jobs
host: amqp://user:[email protected]:5672/
queueLength: "100"
Prometheus 指标触发示例(每秒请求数)apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: api-scaledobject
spec:
scaleTargetRef:
name: api
cooldownPeriod: 180
pollingInterval: 30
triggers:
- type: prometheus
metadata:
serverAddress: http://prometheus.default.svc.cluster.local:9090
metricName: http_requests_per_second
threshold: "200"
query: sum(rate(http_requests_total[1m]))
参数与验证环境:`Kubernetes v1.28`、`KEDA v2.12+`。验证点:触发延迟:在 `pollingInterval` 内,常见 30–60s冷却周期:`cooldownPeriod` 控制缩容抖动,建议 ≥ 180s队列清空:在负载高峰期副本数增长,消费速率提升,尾部稳定缩容最佳实践根据事件特性设置合理的 `pollingInterval` 与 `cooldownPeriod`结合 HPA 行为参数,避免双重控制冲突监控 Queue 指标与应用吞吐,校准阈值结论KEDA 为事件驱动场景提供灵活的扩缩容能力。通过阈值与周期参数的合理配置,可在高峰与低谷期间保持稳定与成本可控。

发表评论 取消回复