In the previous chapter, we were able to scale GitLab Runners using the Kubernetes executor. Depending on your requirements of how many jobs should be able to run concurrently, the number of available Runners in a Kubernetes cluster can go up or down. Having a big number of runners available can be very costly. Even if they were to be turned off, they would still cost money. It's much better to have them created on demand and destroyed when they are no longer needed.
There is another GitLab Runner executor that can behave in this elastic way and dynamically add or remove Runner instances, and this is known as the Docker Machine executor. We will show you what this looks like from an architectural point of view, explain some of its settings, and provide you with some examples of running the Docker Machine executor with the VirtualBox driver and...