Running the Runners: How CNCF Powers GitHub Actions at Scale
summary
CNCF builds a shared, self‑hosted GitHub Actions platform that runs ephemeral VMs per job on Oracle Cloud using a Kubernetes control plane with actions-runner-controller, Argo CD, Terraform and Packer‑built VM images. It serves ~70 projects (≈30% of 260) and handled 200 million action minutes historically, supports nested KVM, ARM and GPU runners, boots ~70GB images in 2–5 minutes, autos-scales both cluster (carpenter) and VMs, and uses donated credits while fighting VM garbage, cgroup quirks and periodic runner upgrades.
AI-written summary · about
chapters (11)
- 0:00Introduction and speakers
- 1:10Why self-host GitHub runners
- 6:06Initial runner setup and challenges
- 10:26Discovering GitHub’s VM-based architecture
- 12:10Building VM runners for CNCF
- 15:03Operating the runner infrastructure
- 19:24Current runner configurations
- 21:57Current state and timeline
- 24:06Future plans with sandboxing and SBOMs
- 27:22Was it worth running self-hosted runners?
- 28:46Q&A: Runner usage and migration
related talks
34mRunning the Runners: How CNCF Powers GitHub Actions at Scale
41mScaling GitHub Actions To the CNCF
34mMigrating GitHub Actions with Nested Virtualization to a Cloud Native Ecosystem
43mRewriting an Old CI/CD on GitHub Actions for 280 Contributors?
50mGitHub Actions Self-Hosting Runners in k8s
30mPragmatic, scalable, and ergonomic CI/CD using Github Actions and K8s.
29m(Ab)using GitHub Actions for building & testing kernels
30mSpend More Time Coding & Automate the Boring Stuff
