在 bundle 格式中,bundle 镜像是从操作符清单构建的容器镜像,包含一个 bundle。Bundle 镜像由开放容器倡议 (OCI) 规范容器注册表(如 Quay.io 或 DockerHub)存储和分发。
通道定义了操作符的更新流,并用于为订阅者推出更新。头部指向该通道的最新版本。例如,一个 `stable` 通道将包含从最早到最新的所有稳定版本的操作符。
一个操作符可以有多个通道,绑定到特定通道的订阅只会查找该通道中的更新。
集群服务版本 (CSV) 是从操作符元数据创建的 YAML 清单,它帮助 OLM 在集群中运行操作符。它是伴随操作符容器镜像的元数据,用于使用其徽标、描述和版本等信息填充用户界面。
它也是运行操作符所需的技术信息来源,例如它所需的 RBAC 规则以及它管理或依赖的自定义资源 (CR)。
操作符可能依赖于集群中存在的另一个操作符。例如,Vault 操作符依赖于 etcd 操作符来实现其数据持久层。
OLM 通过确保在安装阶段集群中安装所有指定版本的操作符和 CRD 来解决依赖关系。此依赖关系是通过查找和安装满足所需 CRD API 的目录中的操作符来解决的,并且与包或 bundle 无关。
在 bundle 格式中,索引镜像指的是包含操作符 bundle 信息的数据库镜像(数据库快照),包括所有版本的 CSV 和 CRD。此索引可以托管集群上的操作符历史记录,并且可以通过使用 `opm` CLI 工具添加或删除操作符来维护。