WeAreDevelopers LIVE β€’ Oct 6, 2023

A deep dive into ARC the Kubernetes operator to scale self-hosted runners

Bassem Dghaidi

Stop wasting cluster capacity on idle CI/CD pipelines. Discover how the ARC Kubernetes operator securely scales self-hosted GitHub Actions runners to peak demand and down to zero.

Pause
Mute Enter Fullscreen
#1 about 2 min

Origin and evolution of Actions Runner Controller

How the community-built solution for managing self-hosted runners was officially adopted by GitHub.

#2 about 2 min

Demonstrating self-hosted runner scaling locally

A practical look at queued workflows automatically triggering runner creation within a Kubernetes cluster.

#3 about 4 min

State machines and reconciliation loops in Kubernetes

How control loops continually monitor conditions to ensure the system matches its desired operational state.

#4 about 6 min

Actions Runner Controller architecture and cluster isolation

Why arbitrary execution workloads require dedicated Kubernetes clusters rather than sharing resources with predictable production traffic.

#5 about 7 min

Initializing runner scale sets and listener pods

Converting homogeneous runner pools into deployable clusters using autoscaling controllers and scale set listeners.

#6 about 6 min

Step-by-step workflow scaling and job assignment

The lifecycle of parsing a new workflow execution to scaling up ephemeral runner pods with scoped credentials.

#7 about 6 min

Navigating the Actions Runner Controller open-source repository

Reviewing the project structure to understand the transition from unreliable webhooks to persistent long-polling connections.

#8 about 11 min

Defining custom resources and controller reconciliation logic

Inspecting the codebase constraints for custom resource definitions and the core hashing mechanism driving state updates.

#9 about 4 min

Exploring the listener application and connection handling

How the listener binary functions as a distinct web client holding an HTTP connection to the GitHub backend.

#10 about 5 min

Packaging releases with Helm and container registries

Distributing the controller manager and listener tools as OCI-compliant charts and combined container images.

#11 about 2 min

Accessing deep dives and setup documentation

Additional materials are provided to assist with operational management and complex repository configurations.

#12 about 2 min

The speakers journey into writing software

An early start fixing computers led to a lifelong commitment to building software solutions.

#13 about 4 min

Addressing scale complexities in Kubernetes environments

Running build workloads securely sometimes requires overcoming resource isolation limits intrinsic to container orchestration platforms.

#14 about 5 min

Balancing degrees versus self-taught software engineering skills

Formal training often expedites the underlying systems engineering knowledge required to scale enterprise platforms sustainably.

Matching moments

1:42 min

Abstracting Kubernetes complexity with a self-service operator

Jan Lepsky Jan Lepsky

1:50 min

Understanding the continuous control loop in Kubernetes operators

Philipp Krenn Β· World Congress 2022

6:56 min

Architecting continuous reconciliation loops with Kubernetes controllers

Thomas SchΓΌtz Β· LIVE

11:32 min

Audience questions on security, limitations, and Kubernetes crossover

Maurice Brinkmann Β· LIVE

1:54 min

Speaker background and open source Kubernetes edge computing projects

Gaurav Gahlot Gaurav Gahlot Β· World Congress 2026 Europe

1:59 min

Orchestrating with Kubernetes against Docker and accessing slides

Philipp Krenn Β· World Congress 2022