Make sure that you have Container Registry set up and working on
the **primary**node before following the next steps.
the **primary**site before following the next steps.
We need to make Docker Registry send notification events to the
**primary**node.
**primary**site.
1. SSH into your GitLab **primary** server and login as root:
...
...
@@ -85,27 +85,29 @@ We need to make Docker Registry send notification events to the
gitlab-ctl reconfigure
```
### Configure **secondary** node
### Configure **secondary** site
Make sure you have Container Registry set up and working on
the **secondary**node before following the next steps.
the **secondary**site before following the next steps.
The following steps should be done on each **secondary**node you're
The following steps should be done on each **secondary**site you're
expecting to see the Docker images replicated.
Because we need to allow the **secondary**node to communicate securely with
the **primary**node Container Registry, we need to have a single key
pair for all the nodes. The **secondary** node will use this key to
Because we need to allow the **secondary**site to communicate securely with
the **primary**site Container Registry, we need to have a single key
pair for all the sites. The **secondary** site will use this key to
generate a short-lived JWT that is pull-only-capable to access the
**primary**node Container Registry.
**primary**site Container Registry.
1. SSH into the **secondary** node and login as the `root` user:
For each application node on the **secondary** site:
1. SSH into the node and login as the `root` user:
```shell
sudo-i
```
1. Copy `/var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key` from the **primary** to the **secondary**node.
1. Copy `/var/opt/gitlab/gitlab-rails/etc/gitlab-registry.key` from the **primary** to the node.
1. Edit `/etc/gitlab/gitlab.rb`:
...
...
@@ -114,7 +116,7 @@ generate a short-lived JWT that is pull-only-capable to access the
gitlab_rails['geo_registry_replication_primary_api_url']='https://primary.example.com:5050/'# Primary registry address, it will be used by the secondary node to directly communicate to primary registry
```
1. Reconfigure the **secondary**node for the change to take effect:
1. Reconfigure the node for the change to take effect:
```shell
gitlab-ctl reconfigure
...
...
@@ -123,6 +125,6 @@ generate a short-lived JWT that is pull-only-capable to access the
### Verify replication
To verify Container Registry replication is working, go to **Admin Area > Geo**
(`/admin/geo/nodes`) on the **secondary**node.
(`/admin/geo/nodes`) on the **secondary**site.
The initial replication, or "backfill", will probably still be in progress.
You can monitor the synchronization process on each Geo node from the **primary** node's **Geo Nodes** dashboard in your browser.
You can monitor the synchronization process on each Geo site from the **primary** site's **Geo Nodes** dashboard in your browser.