Skip to content

Make buildx replicas tunable at runtime to reduce infrastructure load

Dmytro Makovey requested to merge dm-reduce-buildx-replicas into master

What does this MR do?

It looks like buildx pods exhibit "anti-affinity" properties - they seem to prefer deployment onto discrete nodes, thus making 1:1 deployment of buildx pod to node. Currently implemented number of replicas (4) - reducing it down to 2 by default should reduce the resource pressure.

Also introduce runtime tunables so that we can alter pipeline behaviour without additional MRs:

  • BUILDX_REPLICAS defaults to 2
  • BUILDX_CPU defaults to 2
  • BUILDX_MEMORY defaults to 2G

Related issues

Checklist

See Definition of done.

For anything in this list which will not be completed, please provide a reason in the MR discussion

Required

  • Merge Request Title, and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Integration tests added to GitLab QA
  • The impact any change in container size has should be evaluated
  • New dependencies are managed with dependencies.io
Edited by Dmytro Makovey

Merge request reports