第4章 スタンドアロン Red Hat Quay のジオレプリケーションデプロイメントのアップグレード
以下の手順を実行して、Red Hat Quay の Geo レプリケーションデプロイメントをアップグレードします。
-
Red Hat Quay の Geo レプリケーションデプロイメントを次の y-stream リリース (例: Red Hat Quay 3.7
Red Hat Quay 3.8) または Geo レプリケーションデプロイメントにアップグレードする場合は、アップグレードを実行する前に操作を停止する必要があります。 - y-stream リリースを次のリリースにアップグレードする場合は、アップグレード中にダウンタイムが断続的に発生します。
- アップグレードする前に、Red Hat Quay デプロイメントをバックアップすることが強く推奨されます。
前提条件
-
registry.redhat.io
にログインしている。
この手順では、3 つ以上のシステムで Red Hat Quay サービスを実行していることを前提としています。詳細は、Red Hat Quay の高可用性の準備 を参照してください。
Red Hat Quay インスタンスを実行している各システムですべての Red Hat Quay インスタンスのリストを取得します。
システム A で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。
$ sudo podman ps
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ec16ece208c0 registry.redhat.io/quay/quay-rhel8:v{producty-n1} registry 6 minutes ago Up 6 minutes ago 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp quay01
System B で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。
$ sudo podman ps
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ae0c9a8b37d registry.redhat.io/quay/quay-rhel8:v{producty-n1} registry 5 minutes ago Up 2 seconds ago 0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp quay02
System C で以下のコマンドを入力して、Red Hat Quay インスタンスを表示します。
$ sudo podman ps
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e75c4aebfee9 registry.redhat.io/quay/quay-rhel8:v{producty-n1} registry 4 seconds ago Up 4 seconds ago 0.0.0.0:84->8080/tcp, 0.0.0.0:447->8443/tcp quay03
各システムの Red Hat Quay インスタンスをすべて一時的にシャットダウンします。
システム A で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。
$ sudo podman stop ec16ece208c0
System B で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。
$ sudo podman stop 7ae0c9a8b37d
System C で以下のコマンドを入力して、Red Hat Quay インスタンスをシャットダウンします。
$ sudo podman stop e75c4aebfee9
各システムで、Red Hat Quay 3 などの最新の Red Hat Quay バージョンを取得します。
システム A で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。
$ sudo podman pull registry.redhat.io/quay/quay-rhel8:{productminv}
システム B で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。
$ sudo podman pull registry.redhat.io/quay/quay-rhel8:v{producty}
システム C で以下のコマンドを入力して、最新の Red Hat Quay バージョンを取得します。
$ sudo podman pull registry.redhat.io/quay/quay-rhel8:{productminv}
高可用性 Red Hat Quay デプロイメントの System A で、Red Hat Quay 3 などの新しいイメージバージョンを実行します。
# 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:{productminv}
新しい Red Hat Quay コンテナーがシステム A で完全に動作可能になるまで待ちます。コンテナーのステータスは、次のコマンドを実行すると確認できます。
$ sudo podman ps
出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70b9f38c3fb4 registry.redhat.io/quay/quay-rhel8:v{producty} registry 2 seconds ago Up 2 seconds ago 0.0.0.0:82->8080/tcp, 0.0.0.0:445->8443/tcp quay01
- オプション: Red Hat Quay UI に移動して、Red Hat Quay が完全に動作していることを確認します。
システム A 上の Red Hat Quay が完全に動作可能であることを確認したら、System B および System C で新しいイメージバージョンを実行します。
高可用性 Red Hat Quay デプロイメントの System B で、Red Hat Quay 3 などの新しいイメージバージョンを実行します。
# 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:{productminv}
高可用性 Red Hat Quay デプロイメントの System C で、Red Hat Quay 3 などの新しいイメージバージョンを実行します。
# 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:{productminv}
次のコマンドを入力して、システム B およびシステム C のコンテナーのステータスを確認できます。
$ sudo podman ps