第 18 章 将独立的 Red Hat Quay 部署迁移到 Red Hat Quay Operator 部署
以下流程允许您备份独立 Red Hat Quay 部署,并将其迁移到 OpenShift Container Platform 上的 Red Hat Quay Operator。
18.1. 备份 Red Hat Quay 的独立部署
流程
- 备份独立 Red Hat 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-backup- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建独立 Red Hat 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.sql- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果还没有安装,请安装 AWS CLI。
- 创建 - ~/.aws/目录:- mkdir ~/.aws/ - $ mkdir ~/.aws/- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 从独立部署的 - 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.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 - access_key和- secret_key从- ~/.aws目录中存储- config.yaml文件中的 access_key 和 secret_key :- touch ~/.aws/credentials - $ touch ~/.aws/credentials- Copy 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 EOF- Copy 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_CONFIG- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 如果 - aws cli没有从- '~/.aws/credentials 文件中自动收集- access_key和- secret_key,您可以通过运行- aws 配置并手动输入凭证来配置它们。
- 在 - quay-backup目录中,创建一个- bucket_backup目录:- mkdir /tmp/quay-backup/bucket-backup - $ mkdir /tmp/quay-backup/bucket-backup- Copy 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_CONFIG中的- hostname下从 Red Hat Quay- config.yaml文件读取。如果端点不安全,请在端点 URL 中使用- http而不是- https。
				此时,您应该对本地存储的所有 Red Hat Quay 数据、blob、数据库和 config.yaml 文件的完整备份。在以下部分中,您要将独立部署备份迁移到 OpenShift Container Platform 上的 Red Hat Quay。