Menu Close

5.5. QuayEcosystem のアップグレード

制限された設定のセットについて、QuayEcosystem API を使用した Operator の以前のバージョンからのアップグレードがサポートされます。移行が予期されない方法で発生することを防ぐために、移行時に特殊なラベルが QuayEcosystem に適用される必要があります。新規 QuayRegistry は Operator が管理できるように作成されますが、古い QuayEcosystem は、ロールバックし、問題が生じた場合に Quay に依然としてアクセスできるよう、手動で削除されるまでそのままになります。既存の QuayEcosystem を新規の QuayRegistry に移行するには、以下の手順を実行します。

  1. "quay-operator/migrate": "true"QuayEcosystemmetadata.labels に追加します。

    $ oc edit quayecosystem <quayecosystemname>
    metadata:
      labels:
        quay-operator/migrate: "true"
  2. QuayRegistryQuayEcosystem と同じ metadata.name で作成されるまで待機します。QuayEcosystem にはラベル "quay-operator/migration-complete": "true" でマークが付けられます。
  3. 新規 QuayRegistrystatus.registryEndpoint が設定された後に、Quay にアクセスし、すべてのデータと設定が正常に移行されたことを確認します。
  4. すべてが正常に機能することを確認した後に、QuayEcosystem を削除でき、Kubernetes ガベージコレクションはすべての古いリソースをクリーンアップします。

5.5.1. QuayEcosystem アップグレードを元に戻す

QuayEcosystem から QuayRegistry への自動アップグレードに問題が生じた場合は、以下の手順を実行して QuayEcosystem を使用できるように元に戻します。

  • UI または kubectl のいずれかを使用して QuayRegistry を削除します。

    $ kubectl delete -n <namespace> quayregistry <quayecosystem-name>
  • 外部アクセスが Route を使用して提供される場合、UI または kubectl を使用して Route を元の Service を参照し直すように変更します。
注記

QuayEcosystem が Postgresデータベースを管理している場合、アップグレードプロセスはデータを、アップグレードされた Operator によって管理される新規 Postgres データベースに移行します。古いデータベースは変更または削除されませんが、移行が完了すると Quay はこのデータベースを使用しなくなります。データの移行中に問題が発生した場合には、アップグレードプロセスは終了し、データベースを管理対象外コンポーネントとして継続して使用することが推奨されます。