The only easy day was yesterday (Zuul+Karpenter)
summary
Volvo runs Zuul at scale with about 24,000 builds/day and shifts from minute‑long, underutilized EC2 instances to flexible node provisioning with Karpenter which reduces node launch to seconds and picks the best instance family per pod request. Production uses three node groups including an isolated group for the Karpenter controller, Terraform deployments, and an AWS Network Load Balancer fronting Nginx with the AWS Load Balancer Controller. Experimentation with Bazel for dependency management and micro VMs on bare metal is underway but not yet in production.
AI-written summary · about
chapters (23)
- 0:00Introduction and Volvo team
- 2:27Zuul and Karpenter overview
- 3:31Static autoscaling challenges
- 4:16Karpenter node provisioning
- 6:02Karpenter implementation details
- 7:08Load balancing with Karpenter
- 8:57Pod autoscaling needs
- 9:19Cloud infrastructure setup
- 10:05Terraform and environments
- 12:11Current infrastructure diagram
- 13:00Basel integration project
- 14:24Basel dependency management
- 16:31Q&A session part 1
- 17:11Cloud provider choices
- 18:13Test nodes and automotive plans
- 19:38Open source and cloud strategy
- 21:26Open source vs proprietary
- 22:53Volvo's open source journey
- 23:57Industry competition concerns
- 24:22Basel integration depth
- 25:51Extending Basel functionality
- 26:55Q&A session part 2
- 27:16Developer education on Basel
related talks
27mVolvo and Zuul CI
36mGroupless Autoscaling with Karpenter
29mDevOps Practisting Platform on EKS with Karpenter autoscaling
33mNavigating and Optimizing Karpenter - Avoiding Common Pitfalls
43mThere is no Dana only Zuul
15mZuul at Volvo Cars
18mAutomating Kubernetes Cluster Updates: Achieving Zero Downtime Effortlessly
18mScalable CI/CD Infrastructure with EKS and Karpenter
