actions / actions/actions-runner-controller

Configure Worker Resources

Open
#3,108 12 comments 13 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

community enhancement needs triage
Dominant language
Go
Stars
6.5k
Forks
1.5k
Avg merge
2d 2h
Merged PRs (30d)
27

Description

What would you like added?

When running in kubernetes mode, a workflow pod is created for each job. Unfortunately, there doesn't seem to be a way to configure the CPU & memory resource requests and limits for these worker pods, despite setting resource requests/limits on the runner containers.

Why is this needed?

A tool such as yarn will use as much CPU and memory as possible to complete its task. As such, when pods are created without resource limits, they can starve the node and prevent other services or workers from running on it. This also means that clusters with cluster autoscaling cannot scale to handle large spikes of workflow runs.

Additional context
image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how Kubernetes-mode workflow pods are created and how resource requests and limits are currently configured for runner containers. Add a way to configure CPU and memory requests and limits for worker pods, then verify that created pods receive those settings and do not run without the configured limits.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.