2.6. 红帽提供的 Operator 目录
红帽提供了一些默认包含在 OpenShift Dedicated 中的 Operator 目录。
从 OpenShift Dedicated 4.11 开始,默认的红帽提供的 Operator 目录以基于文件的目录格式发布。通过以过时的 SQLite 数据库格式发布的 4.10,用于 OpenShift Dedicated 4.6 的默认红帽提供的 Operator 目录。
与 SQLite 数据库格式相关的 opm
子命令、标志和功能已被弃用,并将在以后的版本中删除。功能仍被支持,且必须用于使用已弃用的 SQLite 数据库格式的目录。
许多 opm
子命令和标志都用于 SQLite 数据库格式,如 opm index prune
,它们无法使用基于文件的目录格式。有关使用基于文件的目录的更多信息,请参阅管理自定义目录和 Operator Framework 打包格式。
2.6.1. 关于 Operator 目录
Operator 目录是 Operator Lifecycle Manager(OLM)可以查询的元数据存储库,以在集群中发现和安装 Operator 及其依赖项。OLM 始终从目录的最新版本安装 Operator。
基于 Operator Bundle Format 的索引镜像是目录的容器化快照。这是一个不可变的工件,包含指向一组 Operator 清单内容的指针数据库。目录可以引用索引镜像来获取集群中 OLM 的内容。
随着目录的更新,Operator 的最新版本会发生变化,旧版本可能会被删除或修改。另外,当 OLM 在受限网络环境中的 OpenShift Dedicated 集群上运行时,它无法直接从互联网访问目录来拉取最新内容。
作为集群管理员,您可以根据红帽提供的目录或从头创建自己的自定义索引镜像,该镜像可用于提供集群中的目录内容。创建和更新您自己的索引镜像提供了一种方法来自定义集群上可用的一组 Operator,同时避免了上面提到的受限网络环境中的问题。
Kubernetes 定期弃用后续版本中删除的某些 API。因此,从使用删除 API 的 Kubernetes 版本的 OpenShift Dedicated 版本开始,Operator 无法使用删除 API 的 API。
如果您的集群使用自定义目录,请参阅控制 Operator 与 OpenShift Dedicated 版本的兼容性,以了解更多有关 Operator 作者如何更新其项目的详细信息,以帮助避免工作负载问题并防止不兼容的升级。
OpenShift Dedicated 4.8 及之后的版本中删除了对 Operator 的传统软件包清单格式的支持,包括使用传统格式的自定义目录。
在创建自定义目录镜像时,在以前的 OpenShift Dedicated 4 版本中需要使用 oc adm catalog build
命令,这个命令已在多个版本中被弃用,现在已被删除。从 OpenShift Dedicated 4.6 开始,红帽提供的索引镜像可用后,目录构建器必须使用 opm index
命令来管理索引镜像。
2.6.2. 关于红帽提供的 Operator 目录
在 openshift-marketplace
命名空间中默认安装红帽提供的目录源,从而使目录在所有命名空间中都可用。
以下 Operator 目录由红帽发布:
目录 | 索引镜像 | 描述 |
---|---|---|
|
| 已由红帽打包并提供的红帽产品。受红帽支持。 |
|
| 来自主要独立软件供应商 (ISV) 的产品。红帽与 ISV 合作打包并提供。受 ISV 支持。 |
|
| 可通过 Red Hat Marketplace 购买认证的软件。 |
|
| 由 redhat-openshift-ecosystem/community-operators-prod/operators GitHub 仓库中相关代表维护的软件。无官方支持。 |
在集群升级过程中,默认红帽提供的目录源的索引镜像标签由 Cluster Version Operator (CVO) 自动更新,以便 Operator Lifecycle Manager (OLM) 拉取目录的更新版本。例如,在从 OpenShift Dedicated 4.8 升级到 4.9 过程中,redhat-operators
目录的 CatalogSource
对象中的 spec.image
字段被更新:
registry.redhat.io/redhat/redhat-operator-index:v4.8
改为:
registry.redhat.io/redhat/redhat-operator-index:v4.9