8.4. 提升产品的 APIcast 配置


使用 3scale operator,您可以将产品的 APIcast 配置提升到 staging 或 production。ProxyConfigPromote 自定义资源 (CR)将最新的 APIcast 配置提升到 stage 环境。另外,您还可以配置 ProxyConfigPromote CR 以提升到生产环境。

注意
  • ProxyConfigPromote 对象仅在创建时生效。创建后,它们上的任何更新都不会协调。
  • ProxyConfigPromote 仅在存在实际配置更改时处理配置提升。如果没有检测到更改,proxyConfigPromote 将进入错误状态。在这个状态中,自定义资源(CR)上会显示错误消息,用户必须手动删除 CR,即使它标记为删除。

先决条件

安装的要求与常规先决条件中列出的相同, 包括:

流程

  1. 使用以下内容创建一个 YAML 文件:

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ProxyConfigPromote
    metadata:
      name: proxyconfigpromote-sample
    spec:
      productCRName: product1-sample

    要将 APIcast 配置提升到生产环境,请将可选字段 spec.production 设置为 true

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ProxyConfigPromote
    metadata:
      name: proxyconfigpromote-sample
    spec:
      productCRName: product1-sample
      production: true

    要在成功提升后删除 ProxyConfigPromote 对象,将可选字段 spec.deleteCR 设置为 true

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ProxyConfigPromote
    metadata:
      name: proxyconfigpromote-sample
    spec:
      productCRName: product1-sample
      deleteCR: true
  2. 要检查文件的状态条件,请输入以下命令:

    $ oc get proxyconfigpromote proxyconfigpromote-sample -o yaml
    1. 输出应该显示状态为 ReadyFailed

      apiVersion: capabilities.3scale.net/v1beta1
      kind: ProxyConfigPromote
      metadata:
        name: proxyconfigpromote-sample
      spec:
        productCRName: product1-sample
      status:
        conditions:
          - lastTransitionTime: '2023-09-05T07:15:11Z'
            message: >-
              3scale product has been successfully promoted, any further interactions
              with this CR (apart from deletion) won't be applied
            status: 'True'
            type: Ready
        latestStagingVersion: 1
        productId: '7'
      apiVersion: capabilities.3scale.net/v1beta1
      kind: ProxyConfigPromote
      metadata:
        name: proxyconfigpromote-sample
      spec:
        productCRName: product1-sample
      status:
        conditions:
          - lastTransitionTime: '2023-09-05T07:48:08Z'
            message: >-
              cannot promote to production as no product changes detected. Delete this
              proxyConfigPromote CR, then introduce changes to configuration, and then
              create a new proxyConfigPromote CR
            status: 'True'
            type: Failed
        latestProductionVersion: 1
        latestStagingVersion: 1
        productId: '6'
      注意

      如果您没有在代理配置中进行更改,您会收到 ProxyConfigPromote CR 的 Failed 输出状态,其中包含以下信息:

      • 当提升到 stage 时,不能提升到 staging,因为没有检测到产品更改。删除此 proxyConfigPromote CR,然后引入对配置的更改,然后创建一个新的 proxyConfigPromote CR
      • 当提升到生产环境时: 不能提升到生产环境,因为没有检测到产品更改。删除此 proxyConfigPromote CR,然后引入对配置的更改,然后创建一个新的 proxyConfigPromote CR

      按照消息中的指令完成您的过程。

  3. 创建自定义资源:

    oc create -f proxyconfigpromote-sample.yaml
    • 对于给定示例,输出为:

      proxyconfigpromote.capabilities.3scale.net/proxyconfigpromote-sample created
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部