第 7 章 OLM 1.0 (技术预览)
7.1. 关于 Operator Lifecycle Manager 1.0 (技术预览)
自 OpenShift Container Platform 4 初始发行以来,Operator Lifecycle Manager (OLM) 已包含在 OpenShift Container Platform 4 中。OpenShift Container Platform 4.14 引入了用于 OLM 的下一代迭代组件作为技术预览功能,在这个阶段称为 OLM 1.0。此更新的框架改变了很多属于以前版本的 OLM 的概念,并添加了新功能。
OLM 1.0 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
在 OpenShift Container Platform 4.14 中 OLM 1.0 的技术预览阶段,管理员可以探索以下功能:
- 支持 GitOps 工作流的全声明性模型
OLM 1.0 通过两个 API 简化了 Operator 管理:
-
一个新的
Operator
APIoperator.operators.operatorframework.io
由新的 Operator Controller 组件提供,通过将面向用户的 API 整合到单个对象来简化已安装的 Operator 的管理。这让管理员和 SRE 能够使用 GitOps 原则自动化进程并定义所需的状态。 -
Catalog
API 由新 catalogd 组件提供,充当 OLM 1.0 的基础,为 on-cluster 客户端解包目录,以便用户可以发现可安装的内容,如 Operator 和 Kubernetes 扩展。这可让您提高所有可用 Operator 捆绑包版本的可见性,包括它们的详情、频道和更新边缘。
如需更多信息,请参阅 Operator Controller 和 Catalogd。
-
一个新的
- 改进了对 Operator 更新的控制
- 通过改进对目录内容的了解,管理员可以指定用于安装和更新的目标版本。这可让管理员对 Operator 更新的目标版本进行更多控制。如需更多信息,请参阅更新 Operator。
- 灵活的 Operator 打包格式
管理员可以使用基于文件的目录来安装和管理以下类型的内容:
- 基于 OLM 的 Operator,类似于现有的 OLM 体验
- 普通捆绑包,它们是任意 Kubernetes 清单的静态集合
另外,捆绑包大小不再受 etcd 值大小限制。如需更多信息,请参阅从 目录安装 Operator 和管理普通捆绑包。
7.1.1. 用途
Operator Lifecycle Manager (OLM) 的任务是集中管理集群扩展的生命周期,并在 Kubernetes 集群上以声明性的方式管理。其目的是在整个基础集群生命周期中,对集群管理员和平台即服务(PaaS)管理员的安装、运行和更新功能扩展变得简单、安全且可重复生成。
由 OpenShift Container Platform 4 启动的 OLM 的初始版本,默认包含在内,专注于为特定类型的集群扩展(称为 Operator)提供特殊支持。Operator 被归类为一个或多个 Kubernetes 控制器,与一个或多个 API 扩展(CustomResourceDefinition
(CRD)一起提供,以为集群提供额外的功能。
在生产环境集群中运行了多个版本后,OLM 的下一代产品旨在管理集群扩展(不仅限于 Operator)的生命周期。