5.2. バックグラウンドアップグレードの実行
バックグラウンドのアップグレードを実行するには、2 つの状況でのみ短期間クラスターを停止する必要があります。最初のダウンタイム後にクラスターを再起動すると、quay v3 コンテナーはデータベースをバックフィルするために v2 互換性モードで実行されます。このバックグラウンドプロセスが完了するには、数時間または数日かかる場合があります。大規模なインストールで数時間を超えるダウンタイムが問題になる場合には、バックグラウンドアップグレードが推奨されます。
このタイプのアップグレードでは、Red Hat Quay を互換性モードにします。この場合は、アップグレードが完了するまで v3 quay コンテナーはが実行されますが、古いデータモデルで実行されます。以下を行います。
Red Hat Quay v3 コンテナーをすべてのノードにプルします。コンテナーの以下のバージョン以降を使用します。
quay.io/redhat/quay:v3.0.5
- 任意の quay-builder および clair コンテナーを含む、Red Hat Quay クラスター全体を停止します。
各ノードで
config.yamlファイルを編集し、以下のようにアップグレードモードを background に設定します。V3_UPGRADE_MODE: background
Red Hat Quay v3 コンテナーを単一のノードで起動し、移行が完了するまで待機します (これには最大で数分の時間がかかります)。以下は、このコマンドの例です。
quay コンテナーは、v2 の場合のようにポート 8080 および 8443(80 および 443 ではなく) で起動することに注意してください。したがって、以下の例のように 8080 および 8443 をそれぞれ 80 および 443 に再マッピングすることを推奨します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - その他のすべてのノードで Red Hat Quay v3 コンテナーを起動します。
-
/upgradeprogressAPI エンドポイントは、次のステップに進むのに十分であることが報告される (ステータスが 99% に達する) までモニターします。たとえば、https://myquay.example.com/upgradeprogressを表示するか、またはその他のツールを使用して API をクエリーします。 - バックグラウンドプロセスが十分に進んだら、別のメンテナーンス期間をスケジュールする必要があります。
- スケジュールメンテナーンスの期間中に、Red Hat Quay クラスター全体を停止します。
各ノードで
config.yamlファイルを編集し、以下のようにアップグレードモードをcompleteに設定します。V3_UPGRADE_MODE: complete
- Red Hat Quay を 1 つのノードで再び起動し、最終的なチェックを実行させます。
- 最終チェックが完了したら、Red Hat Quay v3 を他のすべてのノードで再起動します。
- v3.0.z バージョンの quay-builder および clair を起動し、クラスターに戻すコンテナーのインスタンスを置き換えます。
- Docker バージョン 2、スキーマ 2 と互換性のあるコンテナーのプッシュおよびプルを含め、Quay が動作していることを確認します。これには、Windows コンテナーイメージおよび各種コンピューターアーキテクチャー (arm、ppc など) のイメージが含まれます。