第 17 章 在独立部署中备份和恢复 Red Hat Quay
使用本节中的内容在独立部署中备份和恢复 Red Hat Quay。
17.1. 在独立部署中备份 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 \ {productrepo}/{quayimage}:{productminv}
运行以下命令,更改到容器内 bind-mounts 到
/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 \ {productrepo}/{quayimage}:{productminv}
输入以下命令将
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 内容提取到 backup .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>
使用步骤 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
文件中备份。