6.2. opm CLI 参考


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

opm CLI 语法

$ opm <command> [<subcommand>] [<argument>] [<flags>]
Copy to Clipboard Toggle word wrap

警告

opm CLI 不是转发兼容。用于生成目录内容的 opm CLI 版本必须早于或等于用于在集群中提供内容的版本。

Expand
表 6.1. 全局标记
标记描述

-skip-tls-verify

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

--use-http

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

重要

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

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

6.2.1. generate

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

命令语法

$ opm generate <subcommand> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.2. generate 子命令
子命令描述

dockerfile

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

Expand
表 6.3. generate 标记
标记描述

-h,--help

生成帮助信息。

6.2.1.1. dockerfile

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

重要

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

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

命令语法

$ opm generate dockerfile <dcRootDir> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.4. generate dockerfile 标记
标记描述

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

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

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

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

-h,--help

Dockerfile 帮助。

注意

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

6.2.2. index

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

重要

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

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

许多 opm 子命令和标志都用于 SQLite 数据库格式,如 opm index prune,它们无法使用基于文件的目录格式。

有关使用基于文件的目录的更多信息,请参阅"添加资源"。

命令语法

$ opm index <subcommand> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.5. index 子命令
子命令描述

add

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

prune

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

prune-stranded

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

rm

从索引中删除整个 Operator。

6.2.2.1. add

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

命令语法

$ opm index add [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.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 (字符串)

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

6.2.2.2. prune

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

命令语法

$ opm index prune [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.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 (字符串)

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

6.2.2.3. prune-stranded

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

命令语法

$ opm index prune-stranded [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.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 (字符串)

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

6.2.2.4. rm

从索引中删除整个 Operator。

命令语法

$ opm index rm [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.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 (字符串)

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

6.2.3. init

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

命令语法

$ opm init <package_name> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.10. init 标记
标记描述

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

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

-d,--description (字符串)

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

-i,--icon (字符串)

软件包图标的路径.

-o, --output(字符串)

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

6.2.4. migrate

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

重要

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

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

命令语法

$ opm migrate <index_ref> <output_dir> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.11. migrate 标记
标记描述

-o, --output(字符串)

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

6.2.5. render

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

命令语法

$ opm render <index_image | bundle_image | sqlite_file> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.12. render 标记
标记描述

-o, --output(字符串)

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

6.2.6. serve

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

注意

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

命令语法

$ opm serve <source_path> [<flags>]
Copy to Clipboard Toggle word wrap

Expand
表 6.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

6.2.7. validate

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

命令语法

$ opm validate <directory> [<flags>]
Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat