3.2. 3.8.z から 3.9.z へのアップグレード

スタンドアロンの Red Hat Quay デプロイメントを 3.8.z → 3.9 からアップグレードする場合は、PostgreSQL をバージョン 10 → 13 からアップグレードすることが強く推奨されます。PostgreSQL を 10 → 13 からアップグレードするには、PostgreSQL 10 データベースがダウンし、移行スクリプトを実行してプロセスを開始する必要があります。

以下の手順を使用して、スタンドアロンの Red Hat Quay デプロイメントで PostgreSQL を 10 → 13 からアップグレードします。

手順

  1. 次のコマンドを入力して、Red Hat Quay データベースをスケールダウンします。

    $ sudo podman stop <quay_container_name>
  2. オプション。Clair を使用している場合は、以下のコマンドを実行して Clair コンテナーを停止します。

    $ sudo podman stop <clair_container_id>
  3. SCLOrg のデータ 移行 手順から Podman プロセスを実行します。これにより、リモートの PostgreSQL サーバーからのデータ移行が可能になります。

    $ sudo podman run -d --name <migration_postgresql_database> 1
      -e POSTGRESQL_MIGRATION_REMOTE_HOST=172.17.0.2 \ 2
      -e POSTGRESQL_MIGRATION_ADMIN_PASSWORD=remoteAdminP@ssword \
      -v </host/data/directory:/var/lib/pgsql/data:Z> 3
      [ OPTIONAL_CONFIGURATION_VARIABLES ]
      rhel8/postgresql-13
    1
    PostgreSQL 13 移行データベースの名前。
    2
    現在の Red Hat Quay PostgreSQL 10 データベースコンテナーの IP アドレス。sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay コマンドを実行して取得できます。
    3
    最初の PostgreSQL 10 デプロイメントとは異なるボリュームマウントポイントを指定し、そのディレクトリーのアクセス制御リストを変更する必要があります。以下に例を示します。
    $ mkdir -p /host/data/directory
    $ setfacl -m u:26:-wx /host/data/directory

    これにより、データが新規コンテナーによって上書きされないようにします。

  4. オプション。Clair を使用している場合は、Clair PostgreSQL データベースコンテナーに対して直前の手順を繰り返します。
  5. PostgreSQL 10 コンテナーを停止します。

    $ sudo podman stop <postgresql_container_name>
  6. PostgreSQL の移行が完了したら、手順 3 から新規データボリュームマウントを使用して、PostgreSQL 13 コンテナーを実行します(例:</ host/data/directory:/var/lib/postgresql/data&gt;)。

    $ sudo podman run -d --rm --name postgresql-quay \
      -e POSTGRESQL_USER=<username> \
      -e POSTGRESQL_PASSWORD=<password> \
     	-e POSTGRESQL_DATABASE=<quay_database_name> \
      -e POSTGRESQL_ADMIN_PASSWORD=<admin_password> \
      -p 5432:5432 \
      -v </host/data/directory:/var/lib/pgsql/data:Z> \
        registry.redhat.io/rhel8/postgresql-13:1-109
  7. オプション。Clair を使用している場合は、Clair PostgreSQL データベースコンテナーに対して直前の手順を繰り返します。
  8. Red Hat Quay コンテナーを再起動します。

    $ sudo podman run -d --rm -p 80:8080 -p 443:8443 --name=quay \
    -v /home/<quay_user>/quay-poc/config:/conf/stack:Z \
    -v /home/<quay_user>/quay-poc/storage:/datastorage:Z \
    {productrepo}/{quayimage}:{productminv}
  9. オプション。Clair コンテナーを再起動します。以下に例を示します。

    $ sudo podman run -d --name clairv4 \
    -p 8081:8081 -p 8088:8088 \
    -e CLAIR_CONF=/clair/config.yaml \
    -e CLAIR_MODE=combo \
    registry.redhat.io/quay/clair-rhel8:v3.9.0

詳細は、Data Migration を参照してください。

3.2.1. ターゲットイメージ

  • Quay: registry.redhat.io/quay/quay-rhel8:v3.9.0
  • Clair: registry.redhat.io/quay/clair-rhel8:4.6.0
  • PostgreSQL: registry.redhat.io/rhel8/postgresql-13:1-109
  • Redis: registry.redhat.io/rhel8/redis-6:1-110)