2.3. Operator Framework 常用术语表

本主题提供了与 Operator Framework 相关的常用术语表,其中包括 Operator Lifecycle Manager (OLM) 和 Operator SDK,适用于两种打包格式: Package Manifest Format 和 Bundle Format。

2.3.1. 常见 Operator Framework 术语

2.3.1.1. 捆绑包(Bundle)

在 Bundle Format 中,捆绑包是 Operator CSV、清单和元数据的集合。它们一起构成了可在集群中安装的 Operator 的唯一版本。

2.3.1.2. 捆绑包镜像

在 Bundle Format 中, 捆绑包镜像是一个从 Operator 清单中构建的容器镜像,其中包含一个捆绑包。捆绑包镜像由 Open Container Initiative (OCI) spec 容器 registry 存储和发布,如 Quay.io 或 DockerHub。

2.3.1.3. 目录源

目录源(catalog source) 是定义应用程序的 CSV、CRD 和软件包的仓库。

2.3.1.4. 目录镜像

在 Package Manifest Format 中, 目录镜像是一个容器化数据存储,用于描述一组可使用 OLM 在集群中安装的 Operator 元数据和更新元数据。

2.3.1.5. 频道

频道为 Operator 定义更新流,用于为订阅者推出更新。频道头指向该频道的最新版本。例如,stable 频道中会包含 Operator 的所有稳定版本,按由旧到新的顺序排列。

Operator 可以有几个频道,与特定频道绑定的订阅只会在该频道中查找更新。

2.3.1.6. 频道头

频道头是指特定频道中最新已知的更新。

2.3.1.7. 集群服务版本

集群服务版本(cluster service version,简称 CSV 是一个利用 Operator 元数据创建的 YAML 清单,可辅助 OLM 在集群中运行 Operator。它是 Operator 容器镜像附带的元数据,用于在用户界面填充徽标、描述和版本等信息。

此外,CSV 还是运行 Operator 所需的技术信息来源,类似于其需要的 RBAC 规则及其管理或依赖的自定义资源 (CR)。

2.3.1.8. 依赖项

Operator 可能会依赖于集群中存在的另一个 Operator。例如,Vault Operator 依赖于 etcd Operator 的数据持久性层。

OLM 通过确保在安装过程中在集群中安装 Operator 和 CRD 的所有指定版本来解决依赖关系。通过在目录中查找并安装满足所需 CRD API 且与软件包或捆绑包不相关的 Operator,解决这个依赖关系。

2.3.1.9. 索引镜像

在 Bundle Format 中, 索引镜像是一种数据库(数据库快照)镜像,其中包含关于 Operator 捆绑包(包括所有版本的 CSV 和 CRD)的信息。此索引可以托管集群中 Operator 的历史记录,并可使用 opm CLI 工具添加或删除 Operator 来加以维护。

2.3.1.10. 安装计划

安装计划(install plan)是一个列出了为自动安装或升级 CSV 而需创建的资源的计算列表。

2.3.1.11. operator 组

Operator 组将部署在同一命名空间中的所有 Operator 配置为 OperatorGroup 对象,以便在一系列命名空间或集群范围内监视其 CR。

2.3.1.12. 软件包

在 Bundle Format 中,软件包是一个目录,其中包含每个版本的 Operator 的发布历史记录。CSV 清单中描述了发布的 Operator 版本和 CRD。

2.3.1.13. 容器镜像仓库(Registry)

Registry 一个存储了 Operator 捆绑包镜像的数据库,每个都包含所有频道的最新和历史版本。

2.3.1.14. Subscription

订阅(subscription) 通过跟踪软件包中的频道来保持 CSV 最新。

2.3.1.15. 更新图表

更新图表将 CSV 的版本关联到一起,与其他打包软件的更新图表类似。可以依次安装 Operator,也可以跳过某些版本。只有在添加新版本时,更新图表才会在频道头上扩大。