第 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
创建独立 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
- 如果还没有安装 AWS CLI。
创建
~/.aws/目录:$ mkdir ~/.aws/
从独立部署的 Quay
config.yaml获取access_key和secret_key:$ grep -i DISTRIBUTED_STORAGE_CONFIG -A10 /tmp/quay-backup/config.yaml
输出示例:
DISTRIBUTED_STORAGE_CONFIG: minio-1: - RadosGWStorage - access_key: ########## bucket_name: quay hostname: 172.24.10.50 is_secure: false port: "9000" secret_key: ########## storage_path: /datastorage/registry将 Quay
config.yaml文件中的access_key和secret_key存储在~/.aws目录中:$ touch ~/.aws/credentials
可选:检查您的
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
输出示例:
aws_access_key_id = ACCESS_KEY_FROM_QUAY_CONFIG aws_secret_access_key = SECRET_KEY_FROM_QUAY_CONFIG
注意如果
aws cli没有从'~/.aws/credentials 文件中自动收集access_key和secret_key,您可以通过运行aws 配置并手动输入凭证来配置它们。在
quay-backup目录中,创建一个bucket_backup目录:$ mkdir /tmp/quay-backup/bucket-backup
从 S3 存储备份所有 Blob:
$ aws s3 sync --no-verify-ssl --endpoint-url https://PUBLIC_S3_ENDPOINT:PORT s3://QUAY_BUCKET/ /tmp/quay-backup/bucket-backup/
注意PUBLIC_S3_ENDPOINT可以从DISTRIBUTED_STORAGE_CONFIG中的hostname下的 Quayconfig.yaml文件中读取。如果端点不安全,请在端点 URL 中使用http而不是https。
此时,您应该拥有本地存储的所有 Quay 数据、blob、数据库和 config.yaml 文件的完整备份。在以下部分中,您要将独立部署备份迁移到 OpenShift Container Platform 上的 Red Hat Quay。