第17章 スタンドアロン Quay デプロイメントから Red Hat Quay Operator 管理対象デプロイメントへの移行

以下の手順で、スタンドアロン Red Hat Quay デプロイメントをバックアップし、これを OpenShift Container Platform の Red Hat Quay Operator に移行できます。

17.1. Red Hat Quay のスタンドアロンデプロイメントのバックアップ

手順

  1. スタンドアロンデプロイメントの Quay config.yaml をバックアップします。

    $ mkdir /tmp/quay-backup
    $ cp /path/to/Quay/config/directory/config.yaml /tmp/quay-backup
  2. スタンドアロン Quay デプロイメントが使用しているデータベースのバックアップを作成します。

    $ pg_dump -h DB_HOST -p 5432 -d QUAY_DATABASE_NAME -U QUAY_DATABASE_USER -W -O > /tmp/quay-backup/quay-database-backup.sql
  3. AWS CLI がない場合はインストールします。
  4. ~/.aws/ ディレクトリーを作成します。

    $ mkdir ~/.aws/
  5. スタンドアロンデプロイメントの Quay config.yaml から access_key および secret_key を取得します。

    $ grep -i DISTRIBUTED_STORAGE_CONFIG -A10 /tmp/quay-backup/config.yaml

    出力例:

    DISTRIBUTED_STORAGE_CONFIG:
        minio-1:
            - RadosGWStorage
            - access_key: ##########
              bucket_name: quay
              hostname: 172.24.10.50
              is_secure: false
              port: "9000"
              secret_key: ##########
              storage_path: /datastorage/registry
  6. Quay config.yaml ファイルからの access_key および secret_key~/.aws ディレクトリーに保存します。

    $ touch ~/.aws/credentials
  7. オプション: access_key および secret_key が保存されていることを確認します。

    $ cat > ~/.aws/credentials << EOF
    [default]
    aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG
    aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG
    EOF

    出力例:

    aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG
    aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG
    注記

    aws cli`~/.aws/credentials file ファイルから access_key および secret_key を自動的に収集しない場合、aws configure を実行して手動でクレデンシャルを入力することで、それを設定できます。

  8. quay-backup ディレクトリーで、bucket_backup ディレクトリーを作成します。

    $ mkdir /tmp/quay-backup/bucket-backup
  9. S3 ストレージからすべての Blob をバックアップします。

    $ aws s3 sync --no-verify-ssl --endpoint-url https://PUBLIC_S3_ENDPOINT:PORT s3://QUAY_BUCKET/ /tmp/quay-backup/bucket-backup/
    注記

    PUBLIC_S3_ENDPOINT は、DISTRIBUTED_STORAGE_CONFIGhostname の下にある Quay config.yaml ファイルから読み取ることができます。エンドポイントがセキュアでない場合、エンドポイント URL の https ではなく http を使用します。

この時点で、すべての Quay データ、Blob、データベース、および config.yaml ファイルがローカルに保存された、完全なバックアップがあるはずです。次のセクションでは、スタンドアロンデプロイメントのバックアップを OpenShift Container Platform の Red Hat Quay に移行します。