3.2. 从 3.8.z 升级到 3.9.z

如果您要从 3.8.z → 3.9 升级独立 Red Hat Quay 部署,则强烈建议您从版本 10 → 13 升级 PostgreSQL。要从 10 → 13 升级 PostgreSQL,您必须关闭 PostgreSQL 10 数据库并运行迁移脚本来启动此过程。

使用以下步骤在独立 Red Hat Quay 部署中将 PostgreSQL 从 10 → 13 升级。

流程

  1. 输入以下命令缩减 Red Hat Quay 容器:

    $ sudo podman stop <quay_container_name>
  2. 可选。如果使用 Clair,输入以下命令来停止 Clair 容器:

    $ sudo podman stop <clair_container_id>
  3. 从 SCLOrg 的数据迁移流程运行 Podman 进程,允许从远程 PostgreSQL 服务器迁移数据: https://github.com/sclorg/postgresql-container/tree/master/13#data-migration

    $ sudo podman run -d --name <migration_postgresql_database> 1
      -e POSTGRESQL_MIGRATION_REMOTE_HOST=172.17.0.2 \ 2
      -e POSTGRESQL_MIGRATION_ADMIN_PASSWORD=remoteAdminP@ssword \
      -v </host/data/directory:/var/lib/pgsql/data:Z> 3
      [ OPTIONAL_CONFIGURATION_VARIABLES ]
      rhel8/postgresql-13
    1
    PostgreSQL 13 迁移数据库的名称。
    2
    您当前的 Red Hat Quay PostgreSQL 10 数据库容器 IP 地址。可以通过运行以下命令来获取: sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" postgresql-quay.
    3
    您必须指定与初始 PostgreSQL 10 部署不同的卷挂载点,并修改所述目录的访问控制列表。例如:
    $ mkdir -p /host/data/directory
    $ setfacl -m u:26:-wx /host/data/directory

    这可防止数据被新容器覆盖。

  4. 可选。如果使用 Clair,请为 Clair PostgreSQL 数据库容器重复上一步。
  5. 停止 PostgreSQL 10 容器:

    $ sudo podman stop <postgresql_container_name>
  6. 完成 PostgreSQL 迁移后,使用步骤 3 中的新数据卷挂载运行 PostgreSQL 13 容器,例如: </ host/data/directory:/var/lib/postgresql/data > :

    $ sudo podman run -d --rm --name postgresql-quay \
      -e POSTGRESQL_USER=<username> \
      -e POSTGRESQL_PASSWORD=<password> \
     	-e POSTGRESQL_DATABASE=<quay_database_name> \
      -e POSTGRESQL_ADMIN_PASSWORD=<admin_password> \
      -p 5432:5432 \
      -v </host/data/directory:/var/lib/pgsql/data:Z> \
        registry.redhat.io/rhel8/postgresql-13:1-109
  7. 可选。如果使用 Clair,请为 Clair PostgreSQL 数据库容器重复上一步。
  8. 启动 Red Hat Quay 容器:

    $ sudo podman run -d --rm -p 80:8080 -p 443:8443 --name=quay \
    -v /home/<quay_user>/quay-poc/config:/conf/stack:Z \
    -v /home/<quay_user>/quay-poc/storage:/datastorage:Z \
    {productrepo}/{quayimage}:{productminv}
  9. 可选。重启 Clair 容器,例如:

    $ sudo podman run -d --name clairv4 \
    -p 8081:8081 -p 8088:8088 \
    -e CLAIR_CONF=/clair/config.yaml \
    -e CLAIR_MODE=combo \
    registry.redhat.io/quay/clair-rhel8:v3.9.0

如需更多信息,请参阅 数据迁移

3.2.1. 目标镜像

  • quay : registry.redhat.io/quay/quay-rhel8:v3.9.0
  • Clair: registry.redhat.io/quay/clair-rhel8:4.9.0
  • PostgreSQL: registry.redhat.io/rhel8/postgresql-13:1-109
  • redis : registry.redhat.io/rhel8/redis-6:1-110)