第4章 Red Hat Quay on OpenShift Container Platform の geo レプリケーションデプロイメントのアップグレード
OpenShift Container Platform 上の地理的に複製された Red Hat Quay デプロイメントをアップグレードするには、運用を停止し、セカンダリーシステムをスケールダウンし、プライマリーシステムをアップグレードしてから、セカンダリーシステムをアップグレードする必要があります。これにより、地理的に複製されたレジストリー全体で、ダウンタイムを最小限に抑えつつ、安全なアップグレードプロセスが保証されます。
-
OpenShift Container Platform 上の地理的に複製された Red Hat Quay デプロイメントを次の y-stream リリース (たとえば、Red Hat Quay 3.14
Red Hat Quay 3.15) にアップグレードする場合、アップグレード前に運用を停止する必要があります。 - y-stream リリースを次のリリースにアップグレードする場合は、アップグレード中にダウンタイムが断続的に発生します。
- アップグレードする前に、Red Hat Quay on OpenShift Container Platform デプロイメントをバックアップすることを強く推奨します。
以下の手順は、Red Hat Quay レジストリーが 3 台以上のシステムで実行されていることを前提としています。この手順では、システム A、システム B、システム C という 3 つのシステムが使用されます。システム A は、 Red Hat Quay Operator が展開される主要システムとして機能します。
手順
システム B およびシステム C で、Red Hat Quay レジストリーをスケールダウンします。これを行うには、自動スケーリングを無効にし、Red Hat Quay、ミラーワーカー、および Clair (マネージドの場合) のレプリカ数をオーバーライドします。次の
quayregistry.yamlファイルを参照として使用します。apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: registry namespace: ns spec: components: … - kind: horizontalpodautoscaler managed: false - kind: quay managed: true overrides: replicas: 0 - kind: clair managed: true overrides: replicas: 0 - kind: mirror managed: true overrides: replicas: 0 …各項目の説明:
managed: false::Quay、Clair、およびミラーリングワーカーの自動スケーリングを無効にしますoverrides::データベースとオブジェクトストレージにアクセスするコンポーネントのレプリカ数を 0 に設定します注記Red Hat Quay レジストリーがシステム A で実行されている状態を維持する必要があります。システム A の
quayregistry.yamlファイルは更新しないでください。registry-quay-app、registry-quay-mirror、およびregistry-clair-appPod が消えるまで待機します。以下のコマンドを入力してステータスを確認します。oc get pods -n <quay-namespace>出力例
quay-operator.v3.7.1-6f9d859bd-p5ftc 1/1 Running 0 12m quayregistry-clair-postgres-7487f5bd86-xnxpr 1/1 Running 1 (12m ago) 12m quayregistry-quay-app-upgrade-xq2v6 0/1 Completed 0 12m quayregistry-quay-redis-84f888776f-hhgms 1/1 Running 0 12m- システム A で、最新の y-stream バージョンへの Red Hat Quay のアップグレードを開始します。これは手動プロセスです。インストール済みのオペレーターのアップグレードに関する詳細は、インストール済みの Operator のアップグレードを 参照してください。Red Hat Quay のアップグレードパスの詳細は、Red Hat Quay Operator のアップグレード を参照してください。
-
新しい Red Hat Quay レジストリーがインストールされると、クラスター上で必要なアップグレードが自動的に完了します。その後、新しい Red Hat Quay Pod は、最新の y-stream バージョンで起動します。さらに、新しい
QuayPod がスケジュールされ、起動します。 Red Hat Quay UI に移動して、更新が適切に機能していることを確認します。
OpenShift コンソールで Operators
Installed Operators に移動し、Registry Endpoint リンクをクリックします。 重要Red Hat Quay UI が利用可能になるまで、次の手順を実行しないでください。システム A で UI が利用可能になるまで、システム B およびシステム C で Red Hat Quay レジストリーをアップグレードしないでください。
システム A で更新が適切に機能していることを確認し、システム B とシステム C で Red Hat Quay のアップグレードを開始します。Operator のアップグレードにより、Red Hat Quay インストールがアップグレードされ、Pod が再起動されます。
注記データベーススキーマが新しい y-stream インストールに適したものであるため、システム B とシステム C の新しい Pod がすぐに起動します。
更新後、コンポーネントの
overridesを削除して、この手順のステップ 1 で行った変更を元に戻します。以下に例を示します。apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: registry namespace: ns spec: components: … - kind: horizontalpodautoscaler managed: true - kind: quay managed: true - kind: clair managed: true - kind: mirror managed: true …各項目の説明:
kind: horizontalpodautoscaler::アップグレード手順の前にhorizontalpodautoscalerリソースがTrueに設定されていた場合、またはリソース不足の場合に Red Hat Quay がスケーリングするようにしたい場合は、このリソースをTrueに設定します。