17.2. 在独立部署中备份 Red Hat Quay
此流程描述了如何在独立部署中创建 Red Hat Quay 备份。
流程
创建临时备份目录,如
quay-backup
:$ mkdir /tmp/quay-backup
以下示例命令表示 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.3
运行以下命令,进入绑定挂载到容器内的
/conf/stack
目录,如/opt/quay-install
:$ cd /opt/quay-install
输入以下命令将 Red Hat Quay 部署的内容压缩到
quay-backup
目录中的存档中:$ tar cvf /tmp/quay-backup/quay-backup.tar.gz *
输出示例:
config.yaml config.yaml.bak extra_ca_certs/ extra_ca_certs/ca.crt ssl.cert ssl.key
输入以下命令备份 Quay 容器服务:
$ podman inspect quay-app | jq -r '.[0].Config.CreateCommand | .[]' | paste -s -d ' ' - /usr/bin/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.3
输入以下命令将
conf/stack/config.yaml
文件的内容重定向到您的临时quay-config.yaml
文件中:$ podman exec -it quay cat /conf/stack/config.yaml > /tmp/quay-backup/quay-config.yaml
输入以下命令来获取位于您临时
quay-config.yaml
中的DB_URI
:$ grep DB_URI /tmp/quay-backup/quay-config.yaml
输出示例:
$ postgresql://<username>:test123@172.24.10.50/quay
输入以下命令将 PostgreSQL 内容提取到备份 .sql 文件中的临时备份目录中:
$ pg_dump -h 172.24.10.50 -p 5432 -d quay -U <username> -W -O > /tmp/quay-backup/quay-backup.sql
输入以下命令打印
DISTRIBUTED_STORAGE_CONFIG
的内容:DISTRIBUTED_STORAGE_CONFIG: default: - S3Storage - s3_bucket: <bucket_name> storage_path: /registry s3_access_key: <s3_access_key> s3_secret_key: <s3_secret_key> host: <host_name> s3_region: <region>
使用在第 7 步中获取的
access_key
凭证导出AWS_ACCESS_KEY_ID
:$ export AWS_ACCESS_KEY_ID=<access_key>
使用在第 7 步中获取的
secret_key
导出AWS_SECRET_ACCESS_KEY
:$ export AWS_SECRET_ACCESS_KEY=<secret_key>
将
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
输出示例:
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
建议您在同步 quay
存储桶后删除 quay-config.yaml
文件,因为它包含敏感信息。quay-config.yaml
文件不会丢失,因为它在 quay-backup.tar.gz
文件中备份。