3.18. Red Hat Quay の geo-replication デプロイメントのアップグレード

以下の手順を実行して、geo-replication Red Hat Quay デプロイメントをアップグレードします。

重要
  • geo-replication Red Hat Quay デプロイメントを次の y-stream リリース (例: Red Hat Quay 3.7 → Red Hat Quay 3.8) または geo-replication デプロイメントにアップグレードする場合は、アップグレードを実行する前に操作を停止する必要があります。
  • y-stream リリースを次のリリースにアップグレードする場合は、アップグレード中にダウンタイムが断続的に発生します。
  • アップグレードする前に、Red Hat Quay デプロイメントをバックアップすることが強く推奨されます。

前提条件

  • registry.redhat.io にログインしている。
手順

この手順では、3 つ以上のシステムで Red Hat Quay サービスを実行していることを前提としています。詳細は、Red Hat Quay の高可用性の準備 を参照してください。

  1. Red Hat Quay インスタンスを実行している各システムですべての Red Hat Quay インスタンスのリストを取得します。

    1. システム A で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。

      $ sudo podman ps

      出力例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      ec16ece208c0  registry.redhat.io/quay/quay-rhel8:v3.7.0  registry        6 minutes ago  Up 6 minutes ago  0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp  quay01

    2. System B で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。

      $ sudo podman ps

      出力例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      7ae0c9a8b37d  registry.redhat.io/quay/quay-rhel8:v3.7.0  registry        5 minutes ago   Up 2 seconds ago   0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp  quay02

    3. System C で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。

      $ sudo podman ps

      出力例

      CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
      e75c4aebfee9  registry.redhat.io/quay/quay-rhel8:v3.7.0  registry        4 seconds ago   Up 4 seconds ago   0.0.0.0:84->8080/tcp, 0.0.0.0:447->8443/tcp  quay03

  2. 各システムの Red Hat Quay インスタンスをすべて一時的にシャットダウンします。

    1. システム A で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。

      $ sudo podman stop ec16ece208c0
    2. System B で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。

      $ sudo podman stop 7ae0c9a8b37d
    3. System C で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。

      $ sudo podman stop e75c4aebfee9
  3. 各システムで、Red Hat Quay 3.9 などの最新の Red Hat Quay バージョンを取得します。

    1. システム A で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:v3.8.0
    2. システム B で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:v3.8.0
    3. システム C で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。

      $ sudo podman pull registry.redhat.io/quay/quay-rhel8:v3.8.0
  4. 高可用性 Red Hat Quay デプロイメントのシステム A で、Red Hat Quay 3.9 などの新しいイメージバージョンを実行します。

    # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
       --sysctl net.core.somaxconn=4096 \
       --name=quay01 \
       -v /mnt/quay/config:/conf/stack:Z \
       -v /mnt/quay/storage:/datastorage:Z \
       -d registry.redhat.io/quay/quay-rhel8:v3.8.0
  5. 新しい Red Hat Quay コンテナーがシステム A で完全に動作可能になるまで待ちます。コンテナーのステータスは、次のコマンドを実行すると確認できます。

    $ sudo podman ps

    出力例

    CONTAINER ID  IMAGE                                      COMMAND         CREATED        STATUS            PORTS                                        NAMES
    70b9f38c3fb4  registry.redhat.io/quay/quay-rhel8:v3.8.0  registry        2 seconds ago   Up 2 seconds ago   0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp  quay01

  6. オプション: Red Hat Quay UI に移動して、Red Hat Quay が完全に動作していることを確認します。
  7. システム A 上の Red Hat Quay が完全に動作可能であることを確認したら、System B および System C で新しいイメージバージョンを実行します。

    1. 高可用性 Red Hat Quay デプロイメントのシステム B で、新しいイメージバージョン( Red Hat Quay 3.9 など) を実行します。

      # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
         --sysctl net.core.somaxconn=4096 \
         --name=quay02 \
         -v /mnt/quay/config:/conf/stack:Z \
         -v /mnt/quay/storage:/datastorage:Z \
         -d registry.redhat.io/quay/quay-rhel8:v3.8.0
    2. 高可用性 Red Hat Quay デプロイメントのシステム C で、新しいイメージバージョン (Red Hat Quay 3.9 など) を実行します。

      # sudo podman run --restart=always -p 443:8443 -p 80:8080 \
         --sysctl net.core.somaxconn=4096 \
         --name=quay03 \
         -v /mnt/quay/config:/conf/stack:Z \
         -v /mnt/quay/storage:/datastorage:Z \
         -d registry.redhat.io/quay/quay-rhel8:v3.8.0
  8. 次のコマンドを入力して、システム B およびシステム C のコンテナーのステータスを確認できます。

    $ sudo podman ps