Skip to content

gitlab-runner: Create memory optimized runners

Dduvall requested to merge review/memory-optimized-runner-pool into main

We're currently using a pool of CPU-optimized nodes for our GitLab runners and k8s resource requests tuned for CPU workloads. Some CI workloads are more memory intensive than CPU and are resulting in OOM/terminated containers.

Let's provide a separate node pool for memory hungry workloads and create a separate runner deployment that's tuned accordingly. Each deployment will include a tag for its optimization so CI users can select the type of runner they need for each of their jobs ("cpu-optimized" or "memory-optimized").

Aside, we are currently imposing CPU limits, but it's not clear whether imposing CPU limits is ultimately good for either performance or utilization. We might want to consider removing them.

See https://home.robusta.dev/blog/stop-using-cpu-limits

Bug: T345000

Merge request reports