18.3. スタンドアロンデプロイメントでの Red Hat Quay の復元
この手順では、スタンドアロンデプロイメントで Red Hat Quay を復元する方法を説明します。
前提条件
- Red Hat Quay デプロイメントをバックアップしている。
手順
Red Hat Quay コンテナー内の
/conf/stack
にバインドマウントする新しいディレクトリーを作成します。mkdir /opt/new-quay-install
$ mkdir /opt/new-quay-install
Copy 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
postgresql://<username>:test123@172.24.10.50/quay
postgresql://<username>:test123@172.24.10.50/quay
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、PostgreSQL データベースサーバーに入ります。
sudo postgres
$ sudo postgres
Copy 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 DATABASE
Copy 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 EXTENSION
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、postgres CLI を終了します。
\q
\q
Copy 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.sql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
SET SET SET SET SET
SET SET SET SET SET
Copy 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 -A10
Copy 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-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
make_bucket: quay
$ make_bucket: quay
Copy 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