7.2. opm CLI 参考

opm 命令行界面 (CLI) 是用于创建和维护 Operator 目录的工具。

opm CLI 语法

$ opm <command> [<subcommand>] [<argument>] [<flags>]

表 7.1. 全局标记

标记描述

-skip-tls-verify

在拉取捆绑包或索引时跳过容器镜像 registry 的 TLS 证书验证。

--use-http

在拉取捆绑包时,将普通 HTTP 用于容器镜像 registry。

重要

基于 SQLite 的目录格式(包括相关的 CLI 命令)是一个弃用的功能。弃用的功能仍然包含在 OpenShift Container Platform 中,并将继续被支持。但是,这个功能会在以后的发行版本中被删除,且不建议在新的部署中使用。

有关 OpenShift Container Platform 中已弃用或删除的主要功能的最新列表,请参阅 OpenShift Container Platform 发行注记中已弃用和删除的功能部分。

7.2.1. generate

为声明性配置索引生成各种工件。

命令语法

$ opm generate <subcommand> [<flags>]

表 7.2. generate 子命令

子命令描述

dockerfile

为声明性配置索引生成 Dockerfile。

表 7.3. generate 标记

标记描述

-h,--help

生成帮助信息。

7.2.1.1. dockerfile

为声明性配置索引生成 Dockerfile。

重要

此命令在与 <dcRootDir> (名为 <dcDirName>.Dockerfile)相同的目录中创建 Dockerfile,用于构建索引。如果存在具有相同名称的 Dockerfile,这个命令会失败。

当指定额外标签时,如果存在重复的键,则只有每个重复键的最后值都会添加到生成的 Dockerfile 中。

命令语法

$ opm generate dockerfile <dcRootDir> [<flags>]

表 7.4. generate dockerfile 标记

标记描述

-i, --binary-image (字符串)

要构建目录的镜像。默认值为 quay.io/operator-framework/opm:latest

-l, --extra-labels (字符串)

生成的 Dockerfile 中包含的额外标签。标签的格式为 key=value

-h,--help

Dockerfile 帮助。

注意

要使用官方红帽镜像构建,请使用带有值为 registry.redhat.io/openshift4/ose-operator-registry:v4.12-i 标志。

7.2.2. index

从预先存在的 Operator 捆绑包中为 SQLite 数据库格式容器镜像生成 Operator 索引。

重要

从 OpenShift Container Platform 4.11 开始,默认的红帽提供的 Operator 目录以基于文件的目录格式发布。通过以过时的 SQLite 数据库格式发布的 4.10,用于 OpenShift Container Platform 4.6 的默认红帽提供的 Operator 目录。

与 SQLite 数据库格式相关的 opm 子命令、标志和功能已被弃用,并将在以后的版本中删除。功能仍被支持,且必须用于使用已弃用的 SQLite 数据库格式的目录。

许多 opm 子命令和标志都用于 SQLite 数据库格式,如 opm index prune,它们无法使用基于文件的目录格式。有关使用基于文件的目录的更多信息,请参阅"添加资源"。

命令语法

$ opm index <subcommand> [<flags>]

表 7.5. index 子命令

子命令描述

add

将 Operator 捆绑包添加到索引中。

prune

修剪除指定软件包以外的所有索引。

prune-stranded

修剪没有与特定镜像关联的分级捆绑包索引。

rm

从索引中删除整个 Operator。

7.2.2.1. add

将 Operator 捆绑包添加到索引中。

命令语法

$ opm index add [<flags>]

表 7.6. index add 标记

标记描述

-i,--binary-image

on-image opm 命令的容器镜像

-u,--build-tool (字符串)

构建容器镜像的工具: podman (默认值)或 docker。覆盖 --container-tool 标志的一部分。

-b,--bundles (字符串)

要添加的捆绑包的逗号分隔列表。

-c,--container-tool (字符串)

与容器镜像交互的工具,如保存和构建:dockerpodman

-f,--from-index (字符串)

要添加到的上一个索引。

--generate

如果启用,则仅创建 Dockerfile 并将其保存到本地磁盘。

--mode (字符串)

图形更新模式,用来定义通频道图形如何被更新: replaces(默认值)、semversemver-skippatch

-d,--out-dockerfile (字符串)

可选:如果生成 Dockerfile,请指定一个文件名。

--permissive

允许 registry 加载错误。

-p--pull-tool (字符串)

拉取容器镜像的工具: none (默认值)、dockerpodman。覆盖 --container-tool 标志的一部分。

-t--tag (字符串)

正在构建的容器镜像的自定义标签。

7.2.2.2. prune

修剪除指定软件包以外的所有索引。

命令语法

$ opm index prune [<flags>]

表 7.7. index prune 标记

标记描述

-i,--binary-image

on-image opm 命令的容器镜像

-c,--container-tool (字符串)

与容器镜像交互的工具,如保存和构建:dockerpodman

-f,--from-index (字符串)

到修剪的索引。

--generate

如果启用,则仅创建 Dockerfile 并将其保存到本地磁盘。

-d,--out-dockerfile (字符串)

可选:如果生成 Dockerfile,请指定一个文件名。

-p--packages (字符串)

要保留的软件包用逗号隔开。

--permissive

允许 registry 加载错误。

-t--tag (字符串)

正在构建的容器镜像的自定义标签。

7.2.2.3. prune-stranded

修剪没有与特定镜像关联的分级捆绑包索引。

命令语法

$ opm index prune-stranded [<flags>]

表 7.8. index prune-stranded 标记

标记描述

-i,--binary-image

on-image opm 命令的容器镜像

-c,--container-tool (字符串)

与容器镜像交互的工具,如保存和构建:dockerpodman

-f,--from-index (字符串)

到修剪的索引。

--generate

如果启用,则仅创建 Dockerfile 并将其保存到本地磁盘。

-d,--out-dockerfile (字符串)

可选:如果生成 Dockerfile,请指定一个文件名。

-p--packages (字符串)

要保留的软件包用逗号隔开。

--permissive

允许 registry 加载错误。

-t--tag (字符串)

正在构建的容器镜像的自定义标签。

7.2.2.4. rm

从索引中删除整个 Operator。

命令语法

$ opm index rm [<flags>]

表 7.9. index rm 标记

标记描述

-i,--binary-image

on-image opm 命令的容器镜像

-u,--build-tool (字符串)

构建容器镜像的工具: podman (默认值)或 docker。覆盖 --container-tool 标志的一部分。

-c,--container-tool (字符串)

与容器镜像交互的工具,如保存和构建:dockerpodman

-f,--from-index (字符串)

从中删除的以前索引。

--generate

如果启用,则仅创建 Dockerfile 并将其保存到本地磁盘。

-o,--operators (字符串)

要删除的用逗号分开的 Operator 列表。

-d,--out-dockerfile (字符串)

可选:如果生成 Dockerfile,请指定一个文件名。

-p--packages (字符串)

要保留的软件包用逗号隔开。

--permissive

允许 registry 加载错误。

-p--pull-tool (字符串)

拉取容器镜像的工具: none (默认值)、dockerpodman。覆盖 --container-tool 标志的一部分。

-t--tag (字符串)

正在构建的容器镜像的自定义标签。

7.2.3. init

生成 olm.package 声明性配置 blob。

命令语法

$ opm init <package_name> [<flags>]

表 7.10. init 标记

标记描述

-c,--default-channel (字符串)

如果未指定,订阅的频道将默认为。

-d,--description (字符串)

Operator 的 README.md 或者其它文档的路径。

-i,--icon (字符串)

软件包图标的路径.

-o, --output(字符串)

输出格式: json(默认值)或 yaml

7.2.4. migrate

将 SQLite 数据库格式索引镜像或数据库文件迁移到基于文件的目录。

重要

基于 SQLite 的目录格式(包括相关的 CLI 命令)是一个弃用的功能。弃用的功能仍然包含在 OpenShift Container Platform 中,并将继续被支持。但是,这个功能会在以后的发行版本中被删除,且不建议在新的部署中使用。

有关 OpenShift Container Platform 中已弃用或删除的主要功能的最新列表,请参阅 OpenShift Container Platform 发行注记中已弃用和删除的功能部分。

命令语法

$ opm migrate <index_ref> <output_dir> [<flags>]

表 7.11. migrate 标记

标记描述

-o, --output(字符串)

输出格式: json(默认值)或 yaml

7.2.5. render

从提供的索引镜像、捆绑包镜像和 SQLite 数据库文件生成声明性配置 blob。

命令语法

$ opm render <index_image | bundle_image | sqlite_file> [<flags>]

表 7.12. render 标记

标记描述

-o, --output(字符串)

输出格式: json(默认值)或 yaml

7.2.6. serve

通过 GRPC 服务器提供声明配置。

注意

声明性配置目录在启动时由 serving 命令加载。此命令启动后对声明配置所做的更改不会反映在提供的内容中。

命令语法

$ opm serve <source_path> [<flags>]

表 7.13. serving 标记

标记描述

--cache-dir (字符串)

如果设置了此标志,它会同步并保留服务器缓存目录。

--cache-enforce-integrity

如果缓存不存在或无效,则退出并显示错误。当设置了 --cache-dir 标志且 --cache-only 标志为 false 时,默认值为 true。否则,默认值为 false

--cache-only

同步服务缓存,并在没有服务的情况下退出。

--debug

启用调试日志记录。

h, --help

服务帮助。

-p--port (字符串)

服务的端口号。默认值为 50051

--pprof-addr (字符串)

启动性能分析端点的地址。格式为 Addr:Port

-t, --termination-log (字符串)

容器终止日志文件的路径。默认值为 /dev/termination-log

7.2.7. validate

验证给定目录中声明性配置 JSON 文件。

命令语法

$ opm validate <directory> [<flags>]