3.2. 在基于 Operator 的安装中,从 2.11 升级到 2.12


在基于 Operator 的部署中,将 3scale 从 2.11 升级到 2.12:

  1. 使用具有管理员特权的帐户登录 OCP 控制台。
  2. 选择部署了 3scale-operator 的项目。
  3. Operators > Installed Operators
  4. 选择 Red Hat Integration - 3scale > Subscription > Channel
  5. 选择 3scale-2.12 并保存更改,以编辑订阅的频道。

    这将开始升级过程。

  6. 查询项目中 pod 的状态,直到您看到所有新版本都在运行并就绪且没有错误:

    $ oc get pods
    Copy to Clipboard Toggle word wrap
    注意
    • pod 在升级过程中可能会出现临时错误。
    • 升级 pod 所需的时间可能从 5 到 10 分钟。
  7. 新 pod 版本运行后,通过登录 3scale 管理门户并检查它是否按预期工作,确认升级是否成功。
  8. 运行以下命令,检查 APIManager 对象的状态并获取 YAML 内容。<myapimanager> 代表 APIManager 的名称:

    $ oc get apimanager <myapimanager> -o yaml
    Copy to Clipboard Toggle word wrap
    • 带有值的新注解应如下所示:

      apps.3scale.net/apimanager-threescale-version: "2.12"
      apps.3scale.net/threescale-operator-version: "0.9.0"
      Copy to Clipboard Toggle word wrap

执行所有步骤后,基于 Operator 的部署中的 3scale 从 2.11 升级到 2.12 已完成。

3.2.1. 将外部 MySQL 版本升级到 8.0

如果您的 3scale 部署启用了外部数据库模式并使用 MySQL 8.0,请将身份验证插件设置为 3scale 2.12 的 mysql_native_password

在 MySQL 配置文件中添加以下内容:

[mysqld]
default_authentication_plugin=mysql_native_password
Copy to Clipboard Toggle word wrap

3.2.2. 删除未使用的 MessageBus 变量

如果您的 3scale 部署启用了外部数据库模式,您必须手动从 system-redis secret 中删除 MESSAGE_BUS_* 字段。

  1. system-redis secret 中删除 MESSAGE_BUS_* 字段。如果 secret 不是由外部控制器管理,使用以下命令手动更新:

    $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_URL'}]"
    $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_NAMESPACE'}]"
    $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_HOSTS'}]"
    $ oc patch secret/system-redis --type=json -p "[{'op': 'remove', 'path': '/data/MESSAGE_BUS_SENTINEL_ROLE'}]"
    Copy to Clipboard Toggle word wrap
  2. 验证 MESSAGE_BUS_* 字段不存在。以下命令应该返回空的:

    $ oc get secret system-redis -o yaml | grep MESSAGE_BUS
    Copy to Clipboard Toggle word wrap

此升级支持使用 PostgreSQL 10 的外部 system-database。您应当先完成 3scale 升级,然后升级到 PostgreSQL 13。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat