GitLab KAS - Service doesn't work with 2-Redis instances (Cache & Persistent)
Hi GET team,
While using the GitLab (GET) tool to deploy a 10K standard GCP reference architecture, we've found a problem in both the GET ansible automation as well as the KAS service.
Once your GitLab sizing grows beyond 5K, two instances of Redis are recommended (CACHE and PERSISTENT). The KAS service does not work with the the 'dedicated' Redis CACHE and Redis PERISTENT nodes, which are added by GET (ansible) within the GitLab Rails template as:
Components Config
Redis
Separate Queues
gitlab_rails['redis_cache_instance'] = 'rediss://:<CACHE_KEY>@<CACHE_HOST>:<CACHE_PORT>'
gitlab_rails['redis_queues_instance'] = 'rediss://:<PERSISTENT_KEY>@<PERSISTENT_HOST>:<PERSISTENT_PORT>'
gitlab_rails['redis_shared_state_instance'] = 'rediss://:<PERSISTENT_KEY>@<PERSISTENT_HOST>:<PERSISTENT_PORT>'
gitlab_rails['redis_actioncable_instance'] = 'rediss://:<PERSISTENT_KEY>@<PERSISTENT_HOST>:<PERSISTENT_PORT>'
KAS does not work with the configuration above.
The Fix (We think at this point)
We needed to add the following Rails (/etc/gitlab/gitlab.rb) configuration into the Rails nodes to allow KAS to find the 'Persistent Redis' instance. At this time, we don't think this is breaking GitLab (HA-10K reference), but we've brought it up to the account team as well.
KAS (maybe?)
gitlab_rails['redis_host'] = '<PERSISTENT_HOST>'
gitlab_rails['redis_port'] = '<PERSISTENT_PORT>'
gitlab_rails['redis_password'] = '<PERSISTENT_KEY>'
gitlab_rails['redis_ssl'] = true
Thanks,
Jeremiah Spradlin jspradlin@opentext.com Principal Technical Architect