第 17 章 将独立 Quay 部署迁移到 Red Hat Quay Operator 受管部署
以下流程允许您备份独立 Red Hat Quay 部署,并将其迁移到 OpenShift Container Platform 上的 Red Hat Quay Operator。
17.1. 备份 Red Hat Quay 的独立部署 复制链接链接已复制到粘贴板!
流程
备份独立部署的 Quay
config.yaml:mkdir /tmp/quay-backup cp /path/to/Quay/config/directory/config.yaml /tmp/quay-backup
$ mkdir /tmp/quay-backup $ cp /path/to/Quay/config/directory/config.yaml /tmp/quay-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建独立 Quay 部署使用的数据库备份:
pg_dump -h DB_HOST -p 5432 -d QUAY_DATABASE_NAME -U QUAY_DATABASE_USER -W -O > /tmp/quay-backup/quay-database-backup.sql
$ pg_dump -h DB_HOST -p 5432 -d QUAY_DATABASE_NAME -U QUAY_DATABASE_USER -W -O > /tmp/quay-backup/quay-database-backup.sqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 如果您尚未安装 AWS CLI。
创建
~/.aws/目录:mkdir ~/.aws/
$ mkdir ~/.aws/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从独立部署的 Quay
config.yaml获取access_key和secret_key:grep -i DISTRIBUTED_STORAGE_CONFIG -A10 /tmp/quay-backup/config.yaml
$ grep -i DISTRIBUTED_STORAGE_CONFIG -A10 /tmp/quay-backup/config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
access_key和secret_key从 Quayconfig.yaml文件存储在~/.aws目录中:touch ~/.aws/credentials
$ touch ~/.aws/credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:检查是否存储了
access_key和secret_key:cat > ~/.aws/credentials << EOF [default] aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG EOF
$ cat > ~/.aws/credentials << EOF [default] aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG EOFCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG
aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果
aws cli不会自动从'~/.aws/credentials 文件收集access_key和secret_key,您可以通过运行aws 配置并手动输入凭证来配置它们。在
quay-backup目录中,创建一个存储桶_backup目录:mkdir /tmp/quay-backup/bucket-backup
$ mkdir /tmp/quay-backup/bucket-backupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 从 S3 存储中备份所有 Blob:
aws s3 sync --no-verify-ssl --endpoint-url https://PUBLIC_S3_ENDPOINT:PORT s3://QUAY_BUCKET/ /tmp/quay-backup/bucket-backup/
$ aws s3 sync --no-verify-ssl --endpoint-url https://PUBLIC_S3_ENDPOINT:PORT s3://QUAY_BUCKET/ /tmp/quay-backup/bucket-backup/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意PUBLIC_S3_ENDPOINT可从 DISTRIBUTED_STORAGE_STORAGE_CONFIGhostname下的 Quayconfig.yaml文件中读取。如果端点不安全,请在端点 URL 中使用http而不是https。
此时,您应该对本地存储的所有 Quay 数据、Blob、数据库和 config.yaml 文件进行完整备份。在以下部分中,您要将独立部署备份迁移到 OpenShift Container Platform 上的 Red Hat Quay。