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 Inspection -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 の新しいデータボリュームマウント (例: </host/data/directory:/var/lib/postgresql/data>) を 使用して PostgreSQL 13 コンテナーを実行します。

    $ 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

詳細については、データ移行 を参照してください。

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)