8.2.2. 使用 API 转换工具转换自定义资源配置文件

此流程描述了如何使用 API 转换工具将描述 AMQ Streams 自定义资源配置的 YAML 文件转换为适用于 v1beta2 的格式。为此,请使用 convert-file (cf)命令。

convert-file 命令可以转换包含多个文档的 YAML 文件。对于多文档 YAML 文件,其包含的所有 AMQ Streams 自定义资源都会转换。在转换的输出文件中不修改任何非 AMQ Streams OpenShift 资源。

转换 YAML 文件后,您必须应用配置来更新集群中的自定义资源。或者,如果 GitOps 同步机制用于集群上的更新,您可以使用 GitOps 同步机制应用更改。只有在 OpenShift 集群中更新自定义资源时,转换才会完成。

另外,您可以使用 convert-resource 流程直接转换自定义资源

先决条件

  • 支持 v1beta2 API 版本的一个 Cluster Operator 已启动且正在运行。
  • API 转换工具,随发行工件一起提供。
  • 工具需要 Java 11。

使用 CLI 帮助来了解更多有关 API 转换工具的信息,以及 convert-file 命令可用的标记:

bin/api-conversion.sh help
bin/api-conversion.sh help convert-file

如果您使用 Windows,请对此流程使用 bin/api-conversion.cmd

表 8.1. YAML 文件转换标志

标志描述

-f,--file=NAME-OF-YAML-FILE

指定正在转换的 AMQ Streams 自定义资源的 YAML 文件

-o, --output=NAME-OF-CONVERTED-YAML-FILE

为转换的自定义资源创建输出 YAML 文件

--in-place

使用转换的 YAML 更新原始源文件

流程

  1. 使用 convert-file 命令和相应的标志运行 API 转换工具。

    示例 1,转换 YAML 文件并显示输出,但文件没有改变:

    bin/api-conversion.sh convert-file --file input.yaml

    示例 2 转换 YAML 文件,并将更改写入原始源文件中:

    bin/api-conversion.sh convert-file --file input.yaml --in-place

    示例 3,转换 YAML 文件,并将更改写入新的输出文件中:

    bin/api-conversion.sh convert-file --file input.yaml --output output.yaml
  2. 使用转换的配置文件更新自定义资源。

    oc apply -f CONVERTED-CONFIG-FILE
  3. 验证自定义资源是否已转换。

    oc get KIND CUSTOM-RESOURCE-NAME -o yaml