17.3. スタンドアロンデプロイメントでの Red Hat Quay の復元
この手順では、スタンドアロンデプロイメントで Red Hat Quay を復元する方法を説明します。
前提条件
- Red Hat Quay デプロイメントをバックアップしている。
手順
Red Hat Quay コンテナー内の
/conf/stackにバインドマウントする新しいディレクトリーを作成します。mkdir /opt/new-quay-install
$ mkdir /opt/new-quay-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow スタンドアロンデプロイメントでの Red Hat Quay のバックアップ で作成した一時バックアップディレクトリーの内容を、ステップ 1 で作成した
new-quay-install1ディレクトリーにコピーします。cp /tmp/quay-backup/quay-backup.tar.gz /opt/new-quay-install/
$ cp /tmp/quay-backup/quay-backup.tar.gz /opt/new-quay-install/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
new-quay-installディレクトリーに移動します。cd /opt/new-quay-install/
$ cd /opt/new-quay-install/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay ディレクトリーの内容を抽出します。
tar xvf /tmp/quay-backup/quay-backup.tar.gz *
$ tar xvf /tmp/quay-backup/quay-backup.tar.gz *Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、バックアップした
config.yamlファイルからDB_URIを呼び出します。grep DB_URI config.yaml
$ grep DB_URI config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
postgresql://<username>:test123@172.24.10.50/quay
postgresql://<username>:test123@172.24.10.50/quayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、PostgreSQL データベースサーバーに入ります。
sudo postgres
$ sudo postgresCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、psql と入力し、172.24.10.50 に新しいデータベースを作成して、quay データベースを復元します (例:
example_restore_registry_quay_database)。psql "host=172.24.10.50 port=5432 dbname=postgres user=<username> password=test123"
$ psql "host=172.24.10.50 port=5432 dbname=postgres user=<username> password=test123" postgres=> CREATE DATABASE example_restore_registry_quay_database;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
CREATE DATABASE
CREATE DATABASECopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、データベースに接続します。
postgres=# \c "example-restore-registry-quay-database";
postgres=# \c "example-restore-registry-quay-database";Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
You are now connected to database "example-restore-registry-quay-database" as user "postgres".
You are now connected to database "example-restore-registry-quay-database" as user "postgres".Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Quay データベースの
pg_trmgエクステンションを作成します。example_restore_registry_quay_database=> CREATE EXTENSION IF NOT EXISTS pg_trgm;
example_restore_registry_quay_database=> CREATE EXTENSION IF NOT EXISTS pg_trgm;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
CREATE EXTENSION
CREATE EXTENSIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、postgres CLI を終了します。
\q
\qCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、データベースのバックアップを新しいデータベースにインポートします。
psql "host=172.24.10.50 port=5432 dbname=example_restore_registry_quay_database user=<username> password=test123" -W < /tmp/quay-backup/quay-backup.sql
$ psql "host=172.24.10.50 port=5432 dbname=example_restore_registry_quay_database user=<username> password=test123" -W < /tmp/quay-backup/quay-backup.sqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
SET SET SET SET SET
SET SET SET SET SETCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay のデプロイメントを再起動する前に
config.yamlのDB_URIの値をpostgresql://<username>:test123@172.24.10.50/quayからpostgresql://<username>:test123@172.24.10.50/example-restore-registry-quay-databaseに更新してください。注記DB_URI の形式は
DB_URI postgresql://<login_user_name>:<login_user_password>@<postgresql_host>/<quay_database>です。ある PostgreSQL サーバーから別の PostgreSQL サーバーに移動する場合は、<login_user_name>、<login_user_password>、および<postgresql_host>の値を同時に更新します。/opt/new-quay-installディレクトリーで、DISTRIBUTED_STORAGE_CONFIGバンドルの内容を出力します。cat config.yaml | grep DISTRIBUTED_STORAGE_CONFIG -A10
$ cat config.yaml | grep DISTRIBUTED_STORAGE_CONFIG -A10Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Quay のデプロイメントを再起動する前に
/opt/new-quay-installにあるDISTRIBUTED_STORAGE_CONFIGを更新する必要があります。ステップ 13 で取得した
access_key認証情報を使用して、AWS_ACCESS_KEY_IDをエクスポートします。export AWS_ACCESS_KEY_ID=<access_key>
$ export AWS_ACCESS_KEY_ID=<access_key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステップ 13 で取得した
secret_keyを使用して、AWS_SECRET_ACCESS_KEYをエクスポートします。export AWS_SECRET_ACCESS_KEY=<secret_key>
$ export AWS_SECRET_ACCESS_KEY=<secret_key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、新しい s3 バケットを作成します。
aws s3 mb s3://<new_bucket_name> --region us-east-2
$ aws s3 mb s3://<new_bucket_name> --region us-east-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
make_bucket: quay
$ make_bucket: quayCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、すべての Blob を新しい s3 バケットにアップロードします。
aws s3 sync --no-verify-ssl \ --endpoint-url <example_endpoint_url>
$ aws s3 sync --no-verify-ssl \ --endpoint-url <example_endpoint_url>1 /tmp/quay-backup/blob-backup/. s3://quay/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat Quay レジストリーのエンドポイントは、バックアップ前と復元後に同じである必要があります。
出力例:
upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/50/505edb46ea5d32b5cbe275eb766d960842a52ee77ac225e4dc8abb12f409a30d to s3://quay/datastorage/registry/sha256/50/505edb46ea5d32b5cbe275eb766d960842a52ee77ac225e4dc8abb12f409a30d upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/27/27930dc06c2ee27ac6f543ba0e93640dd21eea458eac47355e8e5989dea087d0 to s3://quay/datastorage/registry/sha256/27/27930dc06c2ee27ac6f543ba0e93640dd21eea458eac47355e8e5989dea087d0 upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/8c/8c7daf5e20eee45ffe4b36761c4bb6729fb3ee60d4f588f712989939323110ec to s3://quay/datastorage/registry/sha256/8c/8c7daf5e20eee45ffe4b36761c4bb6729fb3ee60d4f588f712989939323110ec ...
upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/50/505edb46ea5d32b5cbe275eb766d960842a52ee77ac225e4dc8abb12f409a30d to s3://quay/datastorage/registry/sha256/50/505edb46ea5d32b5cbe275eb766d960842a52ee77ac225e4dc8abb12f409a30d upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/27/27930dc06c2ee27ac6f543ba0e93640dd21eea458eac47355e8e5989dea087d0 to s3://quay/datastorage/registry/sha256/27/27930dc06c2ee27ac6f543ba0e93640dd21eea458eac47355e8e5989dea087d0 upload: ../../tmp/quay-backup/blob-backup/datastorage/registry/sha256/8c/8c7daf5e20eee45ffe4b36761c4bb6729fb3ee60d4f588f712989939323110ec to s3://quay/datastorage/registry/sha256/8c/8c7daf5e20eee45ffe4b36761c4bb6729fb3ee60d4f588f712989939323110ec ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Quay デプロイメントを再起動する前に、config.yaml でストレージ設定を更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow