If you utilize a GitLab Runner with Docker, the resulting architecture differs from the one in the previous chapter in one way. The Runner binary is executed from inside a Docker container instead of directly on a host system. The following diagram shows this architecture:
![](https://static.packt-cdn.com/products/9781789531282/graphics/assets/7d739e4f-87c8-44a0-af23-cdca00798585.png)
The image is the same whether you create a container yourself or you use an existing container from the internet.
If you are going to orchestrate your GitLab Runners using Kubernetes, the architecture is going to look a bit different. You can see that, inside the cluster, a GitLab Runner with the Kubernetes architecture can talk to the cluster's Kubernetes API to scale up the number of Runner instances:
![](https://static.packt-cdn.com/products/9781789531282/graphics/assets/e69b0630-cffd-4e28-88c1-6be25f5f3746.png)
The two architectures both use Docker containers as the core unit of operation. The first needs more management in the field of scaling, upgrading the software, and setting up...