5.3. OpenShift Container Platform 中的 Operator

Operator 是 OpenShift Container Platform 中最重要的组件。Operator 是 control plane 上打包、部署和管理服务的首选方法。它们还可以为用户运行的应用程序提供优势。

Operator 与 Kubernetes API 和 CLI 工具(如 kubectloc 命令)集成。它们提供了监控应用程序、执行健康检查、管理无线(OTA)更新的方法,并确保应用程序保持在指定的状态。

Operator 还提供了更为精细的配置体验。若要配置各个组件,您可以修改 Operator 公开的 API,而不必修改全局配置文件。

因为 CRI-O 和 Kubelet 在每个节点上运行,所以几乎所有其他集群功能都可以通过使用 Operator 在 control plane 上进行管理。使用 Operator 添加到 control plane 的组件包括重要的网络服务和凭证服务。

虽然这两个操作都遵循类似的 Operator 概念和目标,但 OpenShift Container Platform 中的 Operator 由两个不同的系统管理,具体取决于其用途:

  • 由 Cluster Version Operator (CVO) 管理的 Cluster Operator 被默认安装来执行集群功能。
  • 可选的附加组件 Operator 由 Operator Lifecycle Manager(OLM)管理,供用户在其应用程序中运行。

5.3.1. Cluster Operators

在 OpenShift Container Platform 中,所有集群功能都划分到一系列默认 集群 Operator 中。集群 Operator 管理集群功能的特定方面,如集群范围的应用程序日志记录、Kubernetes control plane 管理或机器置备系统。

集群 Operator 由一个 ClusterOperator 对象表示,集群管理员可在 OpenShift Container Platform Web 控制台的 AdministrationCluster Settings 页面中查看它。每个集群 Operator 都会提供一个确定集群功能的简单 API。Operator 将管理组件生命周期的细节隐藏起来。Operator 可以管理一个组件或数十个组件,但最终目标始终是通过自动化常见操作来减轻运维负担。

5.3.2. 附加组件 Operator

Operator Lifecycle Manager(OLM)和 OperatorHub 是 OpenShift Container Platform 中的默认组件,可帮助将 Kubernetes 原生应用程序作为 Operator 进行管理。它们一起提供用于发现、安装和管理集群中可用的可选附加组件 Operator 的系统。

在 OpenShift Container Platform Web 控制台中使用 OperatorHub,集群管理员和授权用户可以选择从 Operator 目录安装的 Operator。在从 OperatorHub 安装 Operator 后,可以以全局的方式或针对特定命名空间,在用户应用程序中运行。

提供默认目录源,其中包括 Red Hat Operator、经过认证的 Operator 和社区 Operator。集群管理员也可以添加自己的自定义目录源,这些源可以包含一组自定义的 Operator。

开发人员可以使用 Operator SDK 来帮助编写利用 OLM 功能的自定义 Operator。然后,可以将它们的 Operator 捆绑并添加到自定义目录源中,该源可以添加到集群中,并可供用户使用。

注意

OLM 不管理组成 OpenShift Container Platform 架构的集群 Operator。

其他资源