You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently /tmp and /home/runner are created as emptyDir for the runner pod.
With provider heavy configurations it produces significant IO on system disk of the Kubernetes node.
I am looking for a way to customise those default volumes to have them in memory, but it could also have other options.
I am considering creating a PR, but first I would like some feedback - it could be an boolean flag in the spec (use memory emptyDir) or it could allow to redefine default volumes - i.e if /tmp or /home/runner are passed in RunnerPodTemplate - don't add them by default.
WDYT?
The text was updated successfully, but these errors were encountered:
as a random person, I'd probably lean towards passing existing mounts into the pod spec via a helm chart config (if that's viable). that way as long as it's a mounted fs it should work, feels better than a boolean flag that offer in memory or as is. avoid feature flag and do it in k8s config basically.
If it's of interest and there is a significant performance issue you can show (I have no idea, sounds feasible) then I don't mind either looking a bit deeper as it's been a while and I'm not familiar... anyhow it seems like you already know the code and have ideas how to do.
I guess, if you've got a problem you can fix and it would be beneficial to the project, go for it and thank you!
@dgem to add more context here: we are running on GKE and we can have 20 runners at the same time.
GKE creates nodes with 100Gb system disk and as it provides IOPS and bandwidth based on the disk size - we don't get a lot of them.
So those runners hit those limits really fast and also affect other services residing on the same node.
My temporary solution was adding a volume to override the default:
Currently
/tmp
and/home/runner
are created as emptyDir for the runner pod.With provider heavy configurations it produces significant IO on system disk of the Kubernetes node.
I am looking for a way to customise those default volumes to have them in memory, but it could also have other options.
I am considering creating a PR, but first I would like some feedback - it could be an boolean flag in the spec (use memory emptyDir) or it could allow to redefine default volumes - i.e if /tmp or /home/runner are passed in RunnerPodTemplate - don't add them by default.
WDYT?
The text was updated successfully, but these errors were encountered: