正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLabコンテナレジストリメタデータデータベースをGeoで使用する

GitLabコンテナレジストリをGeoで使用してコンテナイメージをレプリケートする。各サイトのコンテナレジストリメタデータデータベースは独立しており、Postgresレプリケーションを使用しません。

各セカンダリサイトは、メタデータデータベース用に独自の個別のPostgreSQLインスタンスが必要です。

コンテナレジストリとGeoでGitLabインスタンスを作成する

前提要件:

  • GitLabの新しいインスタンス。
  • データのないインスタンス用に構成されたコンテナレジストリ。

Geoサポートを設定するには、次の手順を実行します:

  1. プライマリサイトとセカンダリサイトのGeoを設定します。詳細については、2つのシングルノードサイトのGeoのセットアップを参照してください。
  2. プライマリサイトとセカンダリサイトで、サイトごとに個別の外部データベースを使用して、メタデータデータベースをセットアップします。
  3. コンテナレジストリのレプリケーションを設定します。

既存のGeoサイトにコンテナレジストリを追加する

前提要件:

  • プライマリサイトおよびセカンダリサイトとして設定された、2つの新しいGitLabインスタンス。
  • データのないプライマリサイト用に構成されたコンテナレジストリ。

既存のGeoセカンダリサイトにコンテナレジストリを追加するには、次の手順を実行します:

  1. セカンダリサイトで、コンテナレジストリを有効にする
  2. プライマリサイトとセカンダリサイトで、サイトごとに個別の外部データベースを使用して、メタデータデータベースをセットアップします。
  3. コンテナレジストリのレプリケーションを設定します。

GitLabの既存のインスタンスにGeoサポートとコンテナレジストリを追加する

前提要件:

  • コンテナレジストリが構成されていない、既存のGitLabインスタンス。
  • Geoサイトは存在しません。

Geoサポートを既存のインスタンスに追加し、コンテナレジストリを両方のGeoサイトに追加するには、次の手順を実行します:

  1. 既存のインスタンス(プライマリ)のGeoを設定し、セカンダリサイトを追加します。詳細については、2つのシングルノードサイトのGeoのセットアップを参照してください。
  2. プライマリサイトとセカンダリサイトで:
    1. コンテナレジストリを有効にします。
    2. サイトごとに個別の外部データベースを使用して、メタデータデータベースをセットアップします。
  3. コンテナレジストリのレプリケーションを設定します。

構成済みのコンテナレジストリを持つインスタンスにGeoサポートを追加する

次のセクションでは、構成済みのコンテナレジストリを使用して、GitLabの既存のインスタンスにGeoサポートを追加する手順について説明します。

次のいずれかを設定できます:

  • 外部データベース接続。
  • コンテナレジストリのレジストリメタデータデータベースのデフォルト。

外部データベースコンテナレジストリメタデータデータベースを使用する

前提要件:

  • 構成済みのコンテナレジストリを持つ、既存のGitLabインスタンス。
  • Geoサイトは存在しません。

Geoサポートを既存のインスタンスに追加し、コンテナレジストリをセカンダリサイトに追加するには、次の手順を実行します:

  1. 既存のインスタンス(プライマリ)のGeoを設定し、セカンダリサイトを追加します。詳細については、2つのシングルノードサイトのGeoのセットアップを参照してください。
  2. セカンダリサイトでは、:
    1. コンテナレジストリを有効にします。
    2. 個別の外部データベースを使用して、メタデータデータベースをセットアップします。
  3. コンテナレジストリのレプリケーションを設定します。

デフォルトのコンテナレジストリメタデータデータベースを使用する

前提要件:

  • 構成済みのコンテナレジストリを持つ、既存のGitLabインスタンス。
  • デフォルトのPostgreSQLインスタンスを使用するコンテナレジストリメタデータデータベース。
  • Geoサイトは存在しません。

このシナリオでは、メタデータデータベースを外部データベースPostgreSQLインスタンスに移動する必要があります。

  1. メタデータデータベースを外部データベースPostgreSQLインスタンスに移動するには、こちらの手順に従ってください。
  2. GitLabの既存のインスタンスにGeoサポートとコンテナレジストリを追加する手順に進みます。

レガシーメタデータからコンテナレジストリを移行する

このシナリオでは、既存のGeoサイトで、レガシーメタデータから外部データベースPostgreSQLメタデータデータベースにコンテナレジストリを移行する必要があります。

前提要件:

  • GitLab 17.3以降(データベースメタデータサポート)
  • プライマリサイトとセカンダリサイトでGeoが構成されている
  • レガシーメタデータを使用している両方のサイトのコンテナレジストリ
  • 両方のレジストリに既存のデータ(イメージがプッシュされたもの)が必要です

移行手順

ダウンタイムはインポート方法によって異なります。インポート方法の推奨事項については、適切なインポート方法の選択方法を参照してください。

移行されるレジストリは、インポート中は読み取り専用です。

移行中、Geoレプリケーションの残りの部分は継続されます。

メタデータデータベースを移行するには:

  1. セカンダリサイトで、既存のレガシーメタデータを新しいメタデータデータベースに移行します
  2. プライマリサイトで、既存のレガシーメタデータを新しいメタデータデータベースに移行します
  3. Geoレプリケーションが引き続き機能していることを確認します。