In Chapter 18, Monitoring CI Metrics, and Chapter 19, Creating a Basic HA Architecture Using Horizontal Scaling, we created a basic scalable GitLab architecture using Terraform and Ansible. In this chapter, we will create even more nodes and, by doing so, strengthen the High Availability (HA) capabilities of GitLab. One of the weak points of the architecture we first designed was that the frontend servers had more than one GitLab component installed, which could prove to be a problem if one component breaks down. We will run the Sidekiq component on another server to mitigate this risk. Another weakness was the shared filesystem.
In this chapter, we will cover the following topics:
- The basic architecture of this solution
- The changes to the Terraform configuration
- Splitting more application components
- The clustered Redis/Sentinel configuration...