Replies: 1 comment 2 replies
-
We ended up building our own runner images to support DinD within single-container pods. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Wanted to see if anybody in the community has had an experience or tips with this particular subject.
For context, our organization is in the process of migrating our self-hosted GHA runners from the original
fairwinds
controller to the new RSS controller maintained by GitHub. With the legacy controller, all of our RunnerDeployments are using the-dind
runner images and we have distinct RunnerDeployment configurations based on CPU & Memory resource requests & limits which essentially match AWS EC2 T-series instance types. That is to say, we have RunnerDeployments labeledsmall
,medium
,large
,xlarge
etc... wheremedium
RunnerDeployment pods have resource requests an limits of 2 vCPU and 4 GiB Memory. Since the runner pods are single container pods, this works well as the resource allocation covers both the runner software AND the Docker daemon.It looks like the new RSS controller deploys pods using the vanilla / bare-bones runner container image published by GitHub and instead of offering a
DinD
variant,DinD
capabilities are achieved by deployed the Docker daemon as a sidecar container. So that leads me to the question: for those usingDinD
sidecar mode, how do you manage resources on your runner pods?My initial thought might be that we could split up our RSS configurations into DinD and non-DinD runners. For example, a
medium-DinD
runner would have 2vCPU and 4GiB of memory allocated to the DinD sidecar and then only a minimal amount of resource allocated to the runner container. Conversely, the non-DinD container would have the full 2vCPU and 4GiB of memory allocated to the runner container.Beta Was this translation helpful? Give feedback.
All reactions