All of the catalog
Scenario
Autoscaling Under Load
Watch KEDA scale go-api on Prometheus RPS: a spike drives it from 1 to several replicas, then cooldown brings it back. The flagship 'autoscaling actually works' demo, verified under traffic from the load generator.
ScalabilityVerifiedk3dkind
Definition on GitHubWhat you'll do
- Declare metric-driven autoscaling for go-api with a KEDA ScaledObject
- Drive a traffic spike and watch replicas scale up on Prometheus RPS
- Confirm latency stays within SLO while scaled, then scales back on cooldown
Stages
- 1autoscaler
Declare the ScaledObject and the replicas-vs-RPS dashboard
go-api-scaledobjectautoscaling-dashboard
Prerequisites
These are installed into the lab cluster for you — listed so you know what the scenario actually depends on.
ingressmonitoring/metricsmonitoring/grafanaautoscaling/kedago-api
Related scenarios
- Chaos EngineeringFailure injection with Chaos Mesh — pod kills, network delays, CPU/memory stress, partitions. Correlate chaos experiments with application metrics via Grafana dashboard.
- Cost & Capacity: Right-Sizing Over-Provisioned ResourcesDeploy go-api with deliberately over-provisioned CPU and memory requests, observe the inflated cost in OpenCost, then right-size the requests to a realistic baseline. Checks verify that requests were reduced to the target thresholds while go-api stays healthy under traffic. Teaches the observe-measure-reduce loop that keeps platform costs rational.
- Day-2 Drill: Namespace Backup & RestoreBack up a namespace's resources to a manifest archive, simulate accidental data loss (delete a resource — or the whole namespace), then restore from the backup and verify the round-trip with checks. A stateful data-writer on a PersistentVolume makes the crucial lesson concrete: the manifest backup round-trips Kubernetes OBJECTS, not the DATA on a volume. A dependency-light alternative to Velero that teaches the backup/restore loop every operator must rehearse before they need it.