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