17.2. 在独立部署中备份 Red Hat Quay
此流程描述了如何在独立部署中创建 Red Hat Quay 备份。
流程
创建临时备份目录,如
quay-backup:mkdir /tmp/quay-backup
$ mkdir /tmp/quay-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例命令表示 Red Hat Quay 启动的本地目录,例如
/opt/quay-install:podman run --name quay-app \ -v /opt/quay-install/config:/conf/stack:Z \ -v /opt/quay-install/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.12.8
$ podman run --name quay-app \ -v /opt/quay-install/config:/conf/stack:Z \ -v /opt/quay-install/storage:/datastorage:Z \ registry.redhat.io/quay/quay-rhel8:v3.12.8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,进入绑定挂载到容器内的
/conf/stack目录,如/opt/quay-install:cd /opt/quay-install
$ cd /opt/quay-installCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将 Red Hat Quay 部署的内容压缩到
quay-backup目录中的存档中:tar cvf /tmp/quay-backup/quay-backup.tar.gz *
$ tar cvf /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 输入以下命令备份 Quay 容器服务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将
conf/stack/config.yaml文件的内容重定向到您的临时quay-config.yaml文件中:podman exec -it quay cat /conf/stack/config.yaml > /tmp/quay-backup/quay-config.yaml
$ podman exec -it quay cat /conf/stack/config.yaml > /tmp/quay-backup/quay-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令来获取位于您临时
quay-config.yaml中的DB_URI:grep DB_URI /tmp/quay-backup/quay-config.yaml
$ grep DB_URI /tmp/quay-backup/quay-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 内容提取到备份 .sql 文件中的临时备份目录中:
pg_dump -h 172.24.10.50 -p 5432 -d quay -U <username> -W -O > /tmp/quay-backup/quay-backup.sql
$ pg_dump -h 172.24.10.50 -p 5432 -d quay -U <username> -W -O > /tmp/quay-backup/quay-backup.sqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令打印
DISTRIBUTED_STORAGE_CONFIG的内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用在第 7 步中获取的
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 使用在第 7 步中获取的
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 将
quay存储桶同步到来自您的DISTRIBUTED_STORAGE_CONFIG的hostname的/tmp/quay-backup/blob-backup/目录:aws s3 sync s3://<bucket_name> /tmp/quay-backup/blob-backup/ --source-region us-east-2
$ aws s3 sync s3://<bucket_name> /tmp/quay-backup/blob-backup/ --source-region us-east-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
download: s3://<user_name>/registry/sha256/9c/9c3181779a868e09698b567a3c42f3744584ddb1398efe2c4ba569a99b823f7a to registry/sha256/9c/9c3181779a868e09698b567a3c42f3744584ddb1398efe2c4ba569a99b823f7a download: s3://<user_name>/registry/sha256/e9/e9c5463f15f0fd62df3898b36ace8d15386a6813ffb470f332698ecb34af5b0d to registry/sha256/e9/e9c5463f15f0fd62df3898b36ace8d15386a6813ffb470f332698ecb34af5b0d
download: s3://<user_name>/registry/sha256/9c/9c3181779a868e09698b567a3c42f3744584ddb1398efe2c4ba569a99b823f7a to registry/sha256/9c/9c3181779a868e09698b567a3c42f3744584ddb1398efe2c4ba569a99b823f7a download: s3://<user_name>/registry/sha256/e9/e9c5463f15f0fd62df3898b36ace8d15386a6813ffb470f332698ecb34af5b0d to registry/sha256/e9/e9c5463f15f0fd62df3898b36ace8d15386a6813ffb470f332698ecb34af5b0dCopy to Clipboard Copied! Toggle word wrap Toggle overflow
建议您在同步 quay 存储桶后删除 quay-config.yaml 文件,因为它包含敏感信息。quay-config.yaml 文件不会丢失,因为它在 quay-backup.tar.gz 文件中备份。