×

本指南概述了OpenShift Container Platform中Operator生命周期管理器(OLM)的组件架构。

组件职责

Operator生命周期管理器(OLM)由两个Operator组成:OLM Operator和Catalog Operator。

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

表1. OLM和Catalog Operator管理的CRD
资源 简称 所有者 描述

ClusterServiceVersion (CSV)

csv

OLM

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

InstallPlan

ip

Catalog

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

CatalogSource

catsrc

Catalog

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

Subscription

sub

Catalog

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

OperatorGroup

og

OLM

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

这两个Operator还负责创建以下资源

表2. OLM和Catalog Operator创建的资源
资源 所有者

部署

OLM

ServiceAccount

(集群)角色

(集群)角色绑定

CustomResourceDefinitions (CRDs)

Catalog

ClusterServiceVersions

OLM Operator

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

OLM Operator不关心所需资源的创建;您可以选择使用CLI或Catalog Operator手动创建这些资源。这种关注点分离允许用户根据他们选择利用OLM框架的程度进行增量采用。

OLM Operator使用以下工作流程

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

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

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

Catalog Operator

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

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

Catalog Operator使用以下工作流程

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

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

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

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

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

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

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

Catalog Registry

Catalog Registry存储集群中要创建的CSV和CRD,并存储有关包和通道的元数据。

包清单是Catalog Registry中的一个条目,它将包标识与CSV集相关联。在一个包中,通道指向特定的CSV。由于CSV明确引用它们替换的CSV,因此包清单为Catalog Operator提供了更新通道中CSV最新版本所需的所有信息,逐步执行每个中间版本。