actions / actions/actions-runner-controller
Configure Worker Resources
Nobody has claimed this yet.
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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