×

本指南概述了运算符生命周期管理器 (OLM) 中的多租户和运算符同位部署。

命名空间中的运算符的同位部署

运算符生命周期管理器 (OLM) 处理安装在同一命名空间中的 OLM 管理的运算符,这意味着它们的 Subscription 资源与相关运算符同位部署在同一命名空间中。即使它们实际上并不相关,OLM 在任何一个运算符更新时也会考虑它们的状态,例如它们的版本和更新策略。

此默认行为体现在以下两种方式中:

  • 挂起的更新的 InstallPlan 资源包括同一命名空间中所有其他运算符的 ClusterServiceVersion (CSV) 资源。

  • 同一命名空间中的所有运算符共享相同的更新策略。例如,如果一个运算符设置为手动更新,则所有其他运算符的更新策略也设置为手动。

这些情况可能导致以下问题:

  • 难以推断运算符更新的安装计划,因为其中定义的资源比仅更新的运算符多得多。

  • 不可能使命名空间中的一些运算符自动更新,而其他运算符手动更新,这是集群管理员的常见需求。

这些问题通常是因为在使用 Red Hat OpenShift Service on AWS 网络控制台安装运算符时,默认行为会将支持 **所有命名空间** 安装模式的运算符安装到默认的 openshift-operators 全局命名空间中。

作为具有 dedicated-admin 角色的管理员,您可以使用以下工作流程手动绕过此默认行为:

  1. 为运算符的安装创建一个项目。

  2. 创建一个自定义的 *全局运算符组*,这是一个监视所有命名空间的运算符组。通过将此运算符组与您刚刚创建的命名空间关联,它使安装命名空间成为全局命名空间,从而使其中安装的运算符在所有命名空间中可用。

  3. 在安装命名空间中安装所需的运算符。

如果运算符有依赖项,则这些依赖项会自动安装在预先创建的命名空间中。因此,依赖运算符具有相同的更新策略和共享安装计划是有效的。有关详细步骤,请参见“在自定义命名空间中安装全局运算符”。