×

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

opm CLI 语法
$ opm <command> [<subcommand>] [<argument>] [<flags>]

opm CLI 不向前兼容。用于生成目录内容的opm CLI版本必须早于或等于用于在集群上提供内容的版本。

表1. 全局标志
标志 描述

-skip-tls-verify

在拉取包或索引时,跳过容器镜像注册表的TLS证书验证。

--use-http

拉取包时,对容器镜像注册表使用普通HTTP。

基于SQLite的目录格式,包括相关的CLI命令,是一个已弃用的功能。已弃用的功能仍然包含在OpenShift Container Platform中,并继续得到支持;但是,它将在该产品的未来版本中删除,并且不建议用于新的部署。

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

generate

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

命令语法
$ opm generate <subcommand> [<flags>]
表2. generate 子命令
子命令 描述

dockerfile

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

表3. generate 标志
标志 描述

-h, --help

generate的帮助信息。

dockerfile

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

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

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

命令语法
$ opm generate dockerfile <dcRootDir> [<flags>]
表 4. generate dockerfile 参数
标志 描述

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

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

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

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

-h, --help

Dockerfile 帮助。

要使用官方Red Hat镜像进行构建,请使用registry.redhat.io/openshift4/ose-operator-registry:v4.17值和-i参数。

index

从预先存在的Operator包生成用于SQLite数据库格式容器镜像的Operator索引。

从OpenShift Container Platform 4.11开始,Red Hat提供的默认Operator目录以基于文件的目录格式发布。OpenShift Container Platform 4.6到4.10的Red Hat提供的默认Operator目录以已弃用的SQLite数据库格式发布。

与SQLite数据库格式相关的opm子命令、参数和功能也已弃用,将在将来的版本中删除。这些功能仍然受支持,并且必须用于使用已弃用的SQLite数据库格式的目录。

许多用于处理SQLite数据库格式的opm子命令和参数(例如opm index prune)都不适用于基于文件的目录格式。

有关使用基于文件目录的更多信息,请参见“其他资源”。

命令语法
$ opm index <subcommand> [<flags>]
表 5. index 子命令
子命令 描述

add

将Operator包添加到索引中。

prune

修剪索引,只保留指定的包。

prune-stranded

修剪索引中孤立的包,即与特定镜像不关联的包。

rm

从索引中删除整个Operator。

add

将Operator包添加到索引中。

命令语法
$ opm index add [<flags>]
表 6. index add 参数
标志 描述

-i, --binary-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

允许注册表加载错误。

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

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

-t, --tag (字符串)

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

prune

修剪索引,只保留指定的包。

命令语法
$ opm index prune [<flags>]
表 7. index prune 参数
标志 描述

-i, --binary-image

用于镜像内opm命令的容器镜像

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

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

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

要修剪的索引。

--generate

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

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

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

-p, --packages (字符串)

要保留的包的逗号分隔列表。

--permissive

允许注册表加载错误。

-t, --tag (字符串)

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

prune-stranded

修剪索引中孤立的包,即与特定镜像不关联的包。

命令语法
$ opm index prune-stranded [<flags>]
表 8. index prune-stranded 参数
标志 描述

-i, --binary-image

用于镜像内opm命令的容器镜像

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

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

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

要修剪的索引。

--generate

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

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

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

-p, --packages (字符串)

要保留的包的逗号分隔列表。

--permissive

允许注册表加载错误。

-t, --tag (字符串)

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

rm

从索引中删除整个Operator。

命令语法
$ opm index rm [<flags>]
表 9. index rm 参数
标志 描述

-i, --binary-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

允许注册表加载错误。

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

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

-t, --tag (字符串)

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

init

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

命令语法
$ opm init <package_name> [<flags>]
表 10. init 参数
标志 描述

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

如果未指定,订阅将默认为此通道。

-d, --description (字符串)

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

-i, --icon (字符串)

包图标的路径。

-o, --output (字符串)

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

migrate

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

基于SQLite的目录格式,包括相关的CLI命令,是一个已弃用的功能。已弃用的功能仍然包含在OpenShift Container Platform中,并继续得到支持;但是,它将在该产品的未来版本中删除,并且不建议用于新的部署。

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

命令语法
$ opm migrate <index_ref> <output_dir> [<flags>]
表 11. migrate 参数
标志 描述

-o, --output (字符串)

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

render

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

命令语法
$ opm render <index_image | bundle_image | sqlite_file> [<flags>]
表 12. render 参数
标志 描述

-o, --output (字符串)

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

serve

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

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

命令语法
$ opm serve <source_path> [<flags>]
表 13. serve 参数
标志 描述

--cache-dir (字符串)

如果设置此参数,它将同步并持久化服务器缓存目录。

--cache-enforce-integrity

如果缓存不存在或已失效,则以错误退出。当设置--cache-dir参数且--cache-only参数为false时,默认值为true。否则,默认为false

--cache-only

同步serve缓存并退出,不提供服务。

--debug

启用调试日志记录。

h, --help

serve帮助。

-p, --port (字符串)

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

--pprof-addr (字符串)

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

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

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

validate

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

命令语法
$ opm validate <directory> [<flags>]