×

本指南概述了 AWS 上 Red Hat OpenShift 服务中操作员生命周期管理器 (OLM) 的组件架构。

组件职责

操作员生命周期管理器 (OLM) 由两个操作员组成:OLM 操作员和目录操作员。

这两个操作员都负责管理作为 OLM 框架基础的自定义资源定义 (CRD)

表 1. OLM 和目录操作员管理的 CRD
资源 简称 所有者 描述

ClusterServiceVersion (CSV)

csv

OLM

应用元数据:名称、版本、图标、所需资源、安装等等。

安装计划

ip (安装计划缩写)

目录

计算出的需创建的资源列表,用于自动安装或升级 CSV。

目录源

catsrc (目录源缩写)

目录

一个 CSV、CRD 和包的存储库,用于定义应用程序。

订阅

sub (订阅缩写)

目录

通过跟踪包中的通道来保持 CSV 最新。

操作符组

og (操作符组缩写)

OLM

配置在与OperatorGroup对象相同命名空间中部署的所有操作符,以监视其自定义资源 (CR) 在一系列命名空间或集群范围内。

这些操作符中的每一个还负责创建以下资源:

表 2. OLM 和目录操作符创建的资源
资源 所有者

部署

OLM

服务账户

(集群)角色

(集群)角色绑定

自定义资源定义 (CRD)

目录

集群服务版本

OLM 操作符

OLM 操作符负责在 CSV 中指定的所需资源存在于集群中之后,部署由 CSV 定义的应用程序。

OLM 操作符不关心所需资源的创建;您可以选择使用 CLI 或目录操作符手动创建这些资源。这种关注点分离允许用户逐步采用他们选择用于其应用程序的 OLM 框架的程度。

OLM 操作符使用以下工作流程:

  1. 监视命名空间中的集群服务版本 (CSV),并检查是否满足要求。

  2. 如果满足要求,则运行 CSV 的安装策略。

    CSV 必须是操作符组的活动成员才能运行安装策略。

目录操作符

目录操作符负责解析和安装集群服务版本 (CSV) 及其指定的所需资源。它还负责监视目录源以获取通道中包的更新,并在需要时自动将其升级到最新的可用版本。

要跟踪通道中的包,您可以创建一个Subscription对象,配置所需的包、通道和要用于提取更新的CatalogSource对象。当找到更新时,将代表用户将相应的InstallPlan对象写入命名空间。

目录操作符使用以下工作流程:

  1. 连接到集群中的每个目录源。

  2. 监视用户创建的未解析安装计划,如果找到:

    1. 找到与请求的名称匹配的 CSV,并将 CSV 添加为已解析的资源。

    2. 对于每个受管理的或所需的 CRD,将 CRD 添加为已解析的资源。

    3. 对于每个所需的 CRD,找到管理它的 CSV。

  3. 监视已解析的安装计划,并在用户批准或自动批准的情况下为其创建所有已发现的资源。

  4. 监视目录源和订阅,并根据它们创建安装计划。

目录注册表

目录注册表存储用于在集群中创建的 CSV 和 CRD,并存储有关包和通道的元数据。

包清单是目录注册表中的一个条目,它将包标识与 CSV 集关联起来。在一个包中,通道指向特定的 CSV。由于 CSV 明确引用它们替换的 CSV,因此包清单为目录操作符提供了更新通道中 CSV 最新版本所需的所有信息,逐步遍历每个中间版本。