8.7. 部署 3scale ActiveDoc 自定义资源


红帽 3scale API 管理 ActiveDocs 基于 API 定义文档,用于定义符合 OpenAPI 规格 的 RESTful Web 服务。ActiveDoc 自定义资源(CR)是导入您可以在 Developer Portal 中使用 ActiveDocs 的 OpenAPI 规格(OAS)文档的一种方式。OAS 是一个标准,不会将您绑定到使用与 API 使用一个特定的编程语言。人工和计算机可以更轻松地了解 API 产品的功能,而无需源代码访问、文档或网络流量检查。

前提条件

  • 具有 3scale 2.12 On-Premises 实例的管理员特权的用户帐户。
  • 定义 API 的 OAS 文档。
  • 了解 ActiveDoc CR 如何链接到租户。

部署 ActiveDoc 自定义资源(CR),以便您可以创建 3scale 后端和 产品https://access.redhat.com/documentation/zh-cn/red_hat_3scale_api_management/2.12/html-single/getting_started/index#creating-backends-for-your-products_configuring-your-api

注意

Operator 只读取 secret 中的内容。Operator 不读取 secret 中的字段名称。例如,数据在 key: value 对中结构化,其中 value 代表一个 文件的内容,键是文件名。在 ActiveDoc CRD 上下文中,operator 会忽略文件名。Operator 仅读取 文件的内容。

前提条件

  • 了解 3scale 操作器如何标识自定义资源链接的租户。
  • 定义一个包含 OAS (OpenAPI 规格)文档的 secret。例如,您可以使用以下内容创建 myoasdoc1.yaml

    openapi: "3.0.2"
    info:
      title: "some title"
      description: "some description"
      version: "1.0.0"
    paths:
      /pet:
        get:
          operationId: "getPet"
          responses:
            405:
              description: "invalid input"
    Copy to Clipboard Toggle word wrap

流程

  1. 创建 secret.例如:

    $ oc create secret generic myoasdoc1 --from-file myoasdoc1.yaml
    
    secret/myoasdoc1 created
    Copy to Clipboard Toggle word wrap
  2. 定义 ActiveDoc CR。确保指定包含 OAS 文档的 secret 的引用。例如,您可以创建 myactivedoccr1.yaml 文件:

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      name: "Operated ActiveDoc From secret"
      activeDocOpenAPIRef:
        secretRef:
          name: myoasdoc1
    Copy to Clipboard Toggle word wrap
  3. 创建您刚刚定义的资源。例如:

    $ oc create -f myactivedoccr1.yaml
    Copy to Clipboard Toggle word wrap

    对于给定示例,输出为:

    activedoc.capabilities.3scale.net/myactivedoccr1 created
    Copy to Clipboard Toggle word wrap

验证

  1. 登录您的 Red Hat OpenShift Container Platform (OCP)管理员帐户。
  2. 导航到 Operators > Installed Operators
  3. Red Hat Integration - 3scale
  4. Active Doc 选项卡。
  5. 确认存在 OAS 文档。请参考上面的示例,您会看到一个名为 myactivedoccr1 的新 OAS 文档。

8.7.2. 3scale ActiveDoc 自定义资源定义的功能

ActiveDoc 自定义资源定义(CRD)担心开发人员在 OpenAPI 文档格式中的产品文档。了解 ActiveDoc CRD 部署功能可帮助您为 Developer 门户创建 ActiveDocs。

  • ActiveDoc CR,它可以从以下任一操作读取和 OpenAPI 文档:

    • Secret
    • httphttps 格式的 URL
  • 另外,您可以使用 productSystemName 字段将 ActiveDoc CR 与 3scale 产品链接。该值必须是 3scale 产品 CR 的 system_name
  • 您可以使用 公布的 字段在 3scale 中发布或隐藏 ActiveDoc 文档。默认情况下,它被设置为 隐藏的
  • 您可以使用 skipSwaggerValidations 字段跳过 OpenAPI 3.0 验证。默认情况下,ActiveDoc CR 会被验证。

您可以部署从您指定的 URL 导入 OAS (OpenAPI 规格)文档的 ActiveDoc 自定义资源(CR)。然后,您可以在 Developer Portal 中使用此 OAS 文档作为您的 API 的 ActiveDocs 的基础。

流程

  1. 在 OpenShift 帐户中,进入到 Operators > Installed operators
  2. 点 3scale operator。
  3. Active Doc 选项卡。
  4. 创建 ActiveDoc CR。例如:

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      openapiRef:
        url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
      providerAccountRef:
        name: mytenant
    Copy to Clipboard Toggle word wrap
  5. 可选。对于 self-managed APIcast,在 ActiveDoc CR 中,将 productionPublicBaseURLstagingPublicBaseURL 字段设置为部署的 URL。例如:

    apiVersion: capabilities.3scale.net/v1beta1
    kind: ActiveDoc
    metadata:
      name: myactivedoccr1
    spec:
      openapiRef:
        url: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore.yaml"
      productionPublicBaseURL: "https://production.my-gateway.example.com"
      stagingPublicBaseURL: "https://staging.my-gateway.example.com"
    Copy to Clipboard Toggle word wrap
  6. Save。3scale Operator 创建 ActiveDoc CR 需要几秒钟。

验证

  1. 登录您的 Red Hat OpenShift Container Platform (OCP)管理员帐户。
  2. 导航到 Operators > Installed Operators
  3. Red Hat Integration 3scale
  4. Active Doc 选项卡。
  5. 确认存在 OAS 文档。请参考上面的示例,您会看到一个名为 myactivedoccr1 的新 OAS 文档。

8.7.4. 其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat